2016-04-22 93 views
1

我想從URL導入JSON數據並使用python 2.7提取特定密鑰的值。我試過如下:無法使用python檢索JSON密鑰的值

import urllib 
import json 
daily_stock = urllib.urlopen('http://www.bloomberg.com/markets/api/bulk-time-series/price/NFLX%3AUS?timeFrame=1_DAY') 
stock_json = json.load(daily_stock) 
print stock_json 

輸出是:

[{u'lastPrice': 95.9, u'lastUpdateDate': u'2016-04-22', u'price': [{u'value': 95.45, u'dateTime': u'2016-04-22T13:30:00Z'} ... 
u'dateTimeRanges': {u'start': u'2016-04-22T13:30:00Z', u'end': u'2016-04-22T20:30:00Z'}}] 

當我嘗試找回 'lastPrice' 的值:

print stock_json["lastPrice"] 

我收到以下錯誤:

TypeError: list indices must be integers, not str 

請幫忙。

回答

1

stock_json列表裏面一個字典,得到詞典的索引:

print stock_json[0]["lastPrice"] 
+0

謝謝!這是有效的。只是對上述問題的擴展:在使用json.load時,不要將它默認存儲爲字典?爲什麼它在這種情況下作爲一個字典存儲在列表中? – Harish

+0

@Harish樂於提供幫助。根據[定義](http://www.json.org/),JSON對象構建在2個結構上 - 一個對象/字典和一個列表/數組。在這種情況下,'json.load()'從JSON數組加載到Python列表中.hope有幫助。 – alecxe

+0

好的。得到它了。非常感謝您的澄清。 – Harish