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

我正在使用一个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'键值的正确方法是什么?

正确方法是寻址外部字典,然后索引列表,然后获取'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'