我正在解析来自web api的JSON,并且当我遍历它们时,Python似乎洗牌了这些密钥。JSON密钥在Python中被洗牌
上的截图原始JSON(这是正确的原始顺序号,它不只是按字母顺序排序):
我的代码:
data = requests.get('http://www.dota2.com/jsfeed/heropediadata?feeds=abilitydata&l=english').json()
for key in data['abilitydata']:
print key
输出:
tiny_avalanche
rubick_fade_bolt
doom_bringer_devour
undying_flesh_golem
...
我我也尝试通过urllib &做到这一点json.loads() - 它给出了相同的结果。
我该如何才能实现原来的订购?
您能通过对象阅读它,当你阅读每一个对象添加次序键。我从来没有与JSON合作过,但我会想象像先读取文件,然后迭代每个对象,并将它转换为JSON时添加一个新属性 - 原始顺序 – PyNEwbie
JSON对象是[定义](http:///www.json.org),“一组无名称/值对”。如果键值对最初指定的顺序很重要,那么你真的不应该使用JSON对象(或者甚至不应该使用JSON)。 –