Python json 的长度不正确

Python lengh of json is incorrect

我的问题是我加载的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)

appledata 是一个只有一个元素的列表。字典是 appledata[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