当我尝试在我的json数据中检索“Q1”时,我收到错误:“字符串索引必须是整数”。
success=true
我可以检索该项目。
{
"ID_54321":{
"Name":"John Doe",
"Email":"jdoe@gmail123.com",
"Q1":"3"
}
}
结果
for key in data:
for item in data[key]:
print item
问题是我无法检索我想要检索的项目的值。
Name
Email
Q1
我收到错误:
for key in data:
for item in data[key]:
print item["Q1"]
答案 0 :(得分:1)
在data[key]
中循环播放时,您可以使用data[key][item]
获得价值:
data = {
"ID_54321": {
"Name": "John Doe",
"Email": "jdoe@gmail123.com",
"Q1": "3"
}
}
for key in data:
for item in data[key]:
print data[key][item]
答案 1 :(得分:1)
首先,我假设您正在讨论迭代字典而不是JSON对象,因为JSON是数据的字符串表示,而字典是数据结构。
在你的情况下,“item”是一个字符串(实际上是来自嵌套dict的键的名称),因此你无法从中获取你的值。
如果您只想查看“Q1”键的值,可以执行以下操作:
for key in data.iterkeys():
print data[key]['Q1']
但是假设您想要从嵌套字典中打印每个值而不仅仅是'Q1',它可能是:
for key in data.iterkeys():
for k, v in data[key].iteritems():
print k, v
其中k是每个键的名称,v是相应的值。
在Python 3.X中它看起来像这样:
for item in data.keys():
for k,v in data[item].items():
print(k,v)
答案 2 :(得分:0)
item["Q1"]
会给您一个错误,因为item
是一个字符串。你想要做的是访问内部字典的键值,所以尝试将其改为:
for key in data:
for item in data[key]:
print data[key][item]