41

我有一个内容为 .json 的 json 文件{"67790": {"1": {"kwh": 319.4}}}。现在我创建了一个字典a_dict,我需要将它附加到 json 文件中。我尝试了以下但无法正确执行。我哪里错了?

with open(DATA_FILENAME, 'a') as f:
   json_obj = json.dump(a_dict, json.load(f)
   f.write(json_obj)
   f.close()
4

3 回答 3

90

假设您有一个test.json包含以下内容的文件:

{"67790": {"1": {"kwh": 319.4}}}

然后,下面的代码将loadjson 文件,使用dict.update()并更新dump到文件中的数据test.json

import json

a_dict = {'new_key': 'new_value'}

with open('test.json') as f:
    data = json.load(f)

data.update(a_dict)

with open('test.json', 'w') as f:
    json.dump(data, f)

然后,在 中test.json,您将拥有:

{"new_key": "new_value", "67790": {"1": {"kwh": 319.4}}}

希望这是你想要的。

于 2013-09-24T11:16:50.617 回答
4

您需要使用 a_dict 更新 json.load 的输出,然后转储结果。而且你不能追加到文件,但你需要覆盖它。

于 2013-09-24T11:17:20.683 回答
-2
json_obj=json.dumps(a_dict, ensure_ascii=False)
于 2013-09-24T11:19:02.100 回答