我从Web服务获得以下JSON。如何从Python中的以下JSON获取有序集合。我想按“订单”编号的升序处理键值对。
{
"key1": {
"order": 10,
"name": "somenameZ"
},
"key2": {
"order": 3,
"name": "somenameY"
},
"key3": {
"order": 8,
"name": "somenameX"
}
}
答案 0 :(得分:3)
使用自定义键对dict.items()
结果进行排序:
ordered = sorted(outerdict.items(), key=lambda kv: kv[1]['order'])
for key, item in ordered:
# ...
如果您只需要嵌套字典而不是外键,则可以对dict.values()
执行相同的操作:
ordered = sorted(outerdict.values(), key=lambda v: v['order'])
for item in ordered:
# ...