如何将行附加到json
文件并用相同的名称覆盖?
data.json
{
'a': 1,
'b': 2}
我尝试过
with open('data.json', 'r+') as json_file:
data = json.load(json_file)
data.update({'c': 3})
json.dump(data,json_file)
但是这会附加所有数据,而不仅仅是预期的行
json.load()
方法中传递第二个参数,即保留字典的顺序。因此,当将键值对分配给字典时,OrderedDict会自动将其附加到末尾。最后,写入文件。import json
from collections import OrderedDict
with open('data.json', 'r') as json_file:
data = json.load(json_file, object_pairs_hook=OrderedDict)
data['c'] = 3
with open('data.json', 'w') as json_file:
json.dump(data, json_file)