在JSON中查找值

时间:2013-03-24 07:34:29

标签: json python-2.7 dictionary

我要做的是找到关键“符号”下的市场价值。

使用此代码我收到错误

File "C:\Python27\bitcoinAPI", line 9, in getmarket
    for key, value in data.items():
AttributeError: 'list' object has no attribute 'items'

以下是代码:

def getmarket():
    page = urllib2.urlopen("http://bitcoincharts.com/t/markets.json")
    data = json.load(page)
    for key, value in data.items():
        if ["symbol"] == "mtgoxUSD":
            print ["symbol"]
getmarket()

我也试过这个

for key, value in data.itervalues():
for key, value in data.iteritems():

他们都说list没有属性iterwhatever

1 个答案:

答案 0 :(得分:2)

解码您指定的json后,json.load方法返回列表而不是字典。错误消息指的是列表data没有items方法。

此外,此表达式:["symbol"] == "mtgoxUSD"将始终返回false,因为您要将列表与单个元素("symbol")与字符串"mtgoxUSD"进行比较。

此代码可能对您有所帮助:

def getmarket():
    page = urllib2.urlopen("http://bitcoincharts.com/t/markets.json")
    data = json.load(page)
    for elem in data:
        if elem['symbol'] == "mtgoxUSD":
            print elem