您好,当我学习python时,我被下面的问题阻止了,到目前为止,我已经在网站上尝试了一些解决方案,但这些解决方案都无法正常工作。当我编译时,它返回我:字符串索引必须是整数。
你能帮我吗?谢谢。
import json
import urllib
url = raw_input('Enter location: ')
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieving', url
print 'Retrieved', len(data), 'characters'
info = json.loads(data)
#print 'User count:', len(info)
s = 0
for item in info:
print item["comments"]["count"]
网址中包含类似这样的内容
{
"note":"This file contains the sample data for testing",
"comments":[
{
"name":"Romina",
"count":97
},
{
"name":"Laurie",
"count":97
},
{
"name":"Bayli",
"count":90
},
{
"name":"Siyona",
"count":90
},
{
"name":"Taisha",
"count":88
},
{
"name":"Ameelia",
"count":87
},}
最佳答案
您的for
循环与数据的结构不匹配。
尝试这个:
for item in info["comments"]:
print item["count"]
如果要查看名称与计数的关联,请尝试:
for item in info["comments"]:
print item["name"], item["count"]
如果要查看名称,计数及其在该列表中的位置,请尝试:
for index, item in enumerate(info["comments"]):
print index, item["name"], item["count"]