Python JSON TypeError:列表索引必须是整数,而不是str

Python JSON TypeError:列表索引必须是整数,而不是str,python,json,Python,Json,我想从JSON中提取一些数据,但我不知道结果如何。它响应“TypeError:列表索引必须是整数,而不是str”。 这是我的代码,谢谢: import urllib import json url = 'http://python-data.dr-chuck.net/comments_304658.json' data = urllib.urlopen(url).read() info = json.loads(data) #print json.dumps(info,indent=4) lst

我想从JSON中提取一些数据,但我不知道结果如何。它响应“TypeError:列表索引必须是整数,而不是str”。 这是我的代码,谢谢:

import urllib
import json
url = 'http://python-data.dr-chuck.net/comments_304658.json'
data = urllib.urlopen(url).read()
info = json.loads(data)
#print json.dumps(info,indent=4)
lst = list()
for item in info:
    count = item['comments']['count']
    count = int(count)
    lst.append(count)
print sum(lst)

您似乎对返回数据的结构感到困惑。代码假定该结构是两级词典的列表。如果是这种情况,那么您可以找到一个像这样的个人
count

info[7]['comments']['count']
它实际上是一本词典,其中一项是词典列表。要查找单个项目,表达式如下所示:

info['comments'][7]['count']
因此,如果我们想迭代列表,我们需要迭代
info['comments']

试试这个:

import urllib
import json
url = 'http://python-data.dr-chuck.net/comments_304658.json'
data = urllib.urlopen(url).read()
info = json.loads(data)
#print json.dumps(info,indent=4)
lst = list()
for item in info['comments']:
    count = item['count']
    count = int(count)
    lst.append(count)
print sum(lst)

它看起来像是
item
item['comments']
是一个
列表,而不是
dict
。它实际上是
字符串索引必须是整数。因为
是一个字符串。