我发现了“TypError”,我不知道如何解决它。请帮忙。如果可能的话,我真的很感激。
我的代码:
import json
input = '''{
"text":"Sample data",
"subjects":[
{
"id":"A",
"quant":10
},
{
"id":"B",
"quant":9
},
{
"id":"C",
"quant":8
},
{
"id":"D",
"quant":7
},
{
"id":"E",
"quant":6
}]}
'''
info = json.loads(input)
count = 0
total = 0
for item in info:
value = item["subjects"][0]["quant"]
value = int(value)
total += value
count += count
print 'Count: ', count
print 'Sum: ', total
错误:
出口; {u'text':你的数据',你的主题':[{u'quant':10,u'id': u'A'},{u'quant':9,u'id':u'B'},{u'quant':8,u'id':u'C'}, {u'quant':7,u'id':u'D'},{u'quant':6,u'id':u'E'}}}追溯 (最近一次调用最后一次):文件 “/Users/macme/Documents/Python/test_Json.py” 第61行,在 value = item [“subjects”] [0] [“quant”] TypeError:字符串索引必须是整数logout保存会话......复制共享历史... ...保存历史...截断历史文件......已完成。
[已完成处理]
答案 0 :(得分:4)
info
是一个字典,但你像列表一样迭代它。我想你想迭代info['subjects']
。
for item in info['subjects']:
value = int(item['quant'])
答案 1 :(得分:1)
您的for
循环无法正常工作。
for item in info
遍历词典的键,即“text”和“subject”。然后尝试使用另一个字符串对这些字符串进行索引,这个字符串必然会失败。