如何从此字典中获取'Last'值?



我正在使用一个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 = 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键。

最新更新