我知道Python的字典中没有顺序,但我有一个包含字典的JSON文件,我想在每个字典中插入一个元素以某种方式当我打开JSON时我会看到添加的元素在顶部。
例子:文件JSON包含:
{“b”:2,“c”:3}
添加后应该是这样的:
{“a”:1,“b”:2,“c”:3}
答案 0 :(得分:3)
您可以使用OrderedDict
的小技巧来执行此操作。
第1步:将旧数据存储在某处。
import json
s = {"b":2, "c":3}
json.dump(s, open('file.json', 'w'))
数据如下所示:'{"b": 2, "c": 3}'
步骤2:添加新数据时,使用OrderedDict
加载现有数据。
from collections import OrderedDict
new_data = OrderedDict({'a' : 1})
new_data.update(json.loads(open('file.json'), object_pairs_hook=OrderedDict))
json.dump(new_data, open('file.json', 'w'))
现在,数据如下所示:'{"a": 1, "b": 2, "c": 3}'