Python 如何获得';最后';这本字典有什么价值?
我正在使用一个API将以下数据发送回Python程序:Python 如何获得';最后';这本字典有什么价值?,python,json,dictionary,Python,Json,Dictionary,我正在使用一个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"]["mess
{"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'键值的正确方法是什么?正确方法是寻址外部字典,然后索引列表,然后获取'Last'键:
last = data['result'][0]['Last']
演示:
您的第一次尝试尝试寻址顶级字典中的所有键,这将失败,因为数据['success']
是一个字符串,并且字符串不能被['message']
索引
第二次尝试失败,因为顶级对象是字典,而不是序列,并且其中没有0
键。data[“result”][0][“Last”]
。缩进JSON以读取它会有所帮助;每次访问一个键以找出问题所在也是如此。
>>> 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'