我有一个JSON文件,其中包含{"67790": {"1": {"kwh": 319.4}}}。现在我创建了一个需要添加到JSON文件中的字典a_dict。
我尝试了以下代码:
with open(DATA_FILENAME, 'a') as f:
json_obj = json.dump(a_dict, json.load(f)
f.write(json_obj)
f.close()
这段代码有什么问题?我该如何解决?
test.json的文件,其内容如下:{"67790": {"1": {"kwh": 319.4}}}
然后,下面的代码将会load这个json文件,并使用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}}}
希望这就是你想要的。
data["key"].append({"new_key":"new_value"})。 - Kerknessdata.update(a_dict)怎么不超出作用域或边界了呢?@alexce - ASTjson_obj=json.dumps(a_dict, ensure_ascii=False)
a_dict 对象覆盖json文件,除非您使用要存储的所有值更新 a_dict。 - Jagoda Gorus
with open(...) as f:时,无需执行f.close()。 - Tony Tuttleappend是什么意思?例如,a_dict之前是什么,结果应该是什么? - Karl Knechtel