因为我在python中使用了dict,我希望它以我的写入顺序输出,
>>> print(json.dumps({'4': 5,'2':2, '6': 7,'0':0},sort_keys=False,indent=2, separators=(',', ': ')))
{
"0": 0,
"2": 2,
"4": 5,
"6": 7
}
但我希望它以书面形式输出,任何方法?
答案 0 :(得分:1)
来自json.dumps
的{{3}}:
如果sort_keys为True(默认值:False),则字典的输出将按键排序。
您指定了sort_keys = False,但是,Python字典{...}
是任意排序的,因此当您将其传递给dumps
函数时,您将丢失刚刚给出的顺序。
如果您想保留订单,可以使用documentation。
>>> json.dumps(OrderedDict([('4', 5), ('2', 2), ('6', 7), ('0', 0)]), indent=2, separators=(',', ': '))
{
"4": 5,
"2": 2,
"6": 7,
"0": 0
}
答案 1 :(得分:0)
dicts没有订单,它们是无序的。您可以使用OrderedDict。
>>> print(json.dumps(OrderedDict([('4', 5), ('2', 2), ('6', 7), ('0', 0)]), indent=2, separators=(',', ': ')))
{
"4": 5,
"2": 2,
"6": 7,
"0": 0
}