为什么会这样?在Python中。我正在阅读并保存它。有没有办法控制JSON的保存方式?我只知道'utf-8',你应该读或写文件。
这就是我得到的:
{
"results": [
{
"result": {
"2": 66,
"0": 22,
"1": 34
},
"name": "Amanda"
}
]
}
这就是我想要的:
{
"results": [
{
"name": "Amanda",
"result": {
"0": 22,
"1": 34,
"2": 66
}
}
]
}
答案 0 :(得分:1)
这就是我要做的事情:
OrderedDict
并创建一个列表,对键进行排序,使name
在result
之前(如果这是您想要的顺序,否则,某事可以做其他事情来订购钥匙,或硬编码)我的代码(jd
是您的结构):
from collections import OrderedDict
ordered_list = []
for x in jd["results"]:
ordered = OrderedDict()
for k,v in sorted(x.items()):
ordered[k] = v
ordered_list.append(ordered)
print(json.dumps({"results" : ordered_list}))
结果:
{"results": [{"name": "Amanda", "result": {"0": 22, "2": 66, "1": 34}}]}
答案 1 :(得分:0)
嗯,所需要的只是:sort_keys=True, separators=(',', ':')