我正在使用一个API向我的Python程序发送以下数据:
{"success":"true","message":"","result":
[{"Last":"0.00000000","Bid":"42258.06451613","Ask":"100000000.0"}]}
我很擅长在Python中使用JSON,但我认为我可以做类似的事情:
data = json.load(urllib2.urlopen("apicall"))
last = data["success"]["message"]["result"]["Last"]
但显然我需要使用整数。所以当我做的时候
last = data[0][0][0][0]
我被告知这是一个无效的密钥。所以我的问题是:在这个例子中获取'Last'键值的正确方法是什么?
答案 0 :(得分:3)
正确的方法是解决外部字典,然后索引列表,然后获取'Last'
密钥:
last = data['result'][0]['Last']
演示:
>>> from pprint import pprint
>>> data = {"success":"true","message":"","result":
... [{"Last":"0.00000000","Bid":"42258.06451613","Ask":"100000000.0"}]}
>>> pprint(data)
{'message': '',
'result': [{'Ask': '100000000.0',
'Bid': '42258.06451613',
'Last': '0.00000000'}],
'success': 'true'}
>>> data['result']
[{'Ask': '100000000.0', 'Bid': '42258.06451613', 'Last': '0.00000000'}]
>>> data['result'][0]
{'Ask': '100000000.0', 'Bid': '42258.06451613', 'Last': '0.00000000'}
>>> data['result'][0]['Last']
'0.00000000'
您的第一次尝试尝试解决顶级字典中的所有密钥,这些密钥会失败,因为data['success']
是一个字符串,并且['message']
无法对字符串编制索引。
您的第二次尝试失败,因为顶级对象是字典,而不是序列,并且其中没有0
键。