我的问题是我加载的json对象的长度是错误的。它不能是1,数据有更多的对象。
我该如何解决这个问题?
这是代码:
import urllib
import json
applesource = urllib.urlopen("http://www.bloomberg.com/markets/api/bulk-time-series/price/AAPL%3AUS?timeFrame=1_YEAR")
appledata = json.load(applesource)
print appledata
print len(appledata)
答案 0 :(得分:0)
appledata
是一个包含一个元素的列表。字典是appledata[0]
。
答案 1 :(得分:0)
Pretty-print对象:
from pprint import pprint
pprint(appledata)
你会很快发现appledata
列表中有一个字典:
[{u'dateTimeRanges': {},
u'id': u'AAPL:US',
u'lastPrice': 107.33,
u'lastUpdateDate': u'2015-12-21',
u'nyTradeEndTime': u'16:30:00.000',
u'nyTradeStartTime': u'09:30:00.000',
u'price': [{u'date': u'2014-12-22', u'value': 112.94},
{u'date': u'2014-12-23', u'value': 112.54},
{u'date': u'2014-12-24', u'value': 112.01},
{u'date': u'2014-12-26', u'value': 113.99},
{u'date': u'2014-12-29', u'value': 113.91},
{u'date': u'2014-12-30', u'value': 112.52},
{u'date': u'2014-12-31', u'value': 110.38},
{u'date': u'2015-01-02', u'value': 109.33},
{u'date': u'2015-01-05', u'value': 106.25},
{u'date': u'2015-01-06', u'value': 106.26},
{u'date': u'2015-01-07', u'value': 107.75},
{u'date': u'2015-01-08', u'value': 111.89},
{u'date': u'2015-01-09', u'value': 112.01},
{u'date': u'2015-01-12', u'value': 109.25},
{u'date': u'2015-01-13', u'value': 110.22},
{u'date': u'2015-01-14', u'value': 109.8},
{u'date': u'2015-01-15', u'value': 106.82},
...
{u'date': u'2015-12-21', u'value': 107.33}],
u'priceMinDecimals': 2,
u'timeZoneOffset': -5}]
你可能想检查一下价格:
prices = appledata[0]["price"]
print(len(prices)) # prints 252