我有一个看起来像这样的json:
[
{
"status":"passed",
"elements":[{"name":"foo"},{"name":"bar"}]
},
{
"status":"failed",
"elements":[{"name":"foo1"},{"name":"bar1"}]
}
]
我正在尝试遍历元素数组:
for a in json['elements']:
print a['name']
我收到此错误:
TypeError:list indices必须是整数,而不是str
我的python非常糟糕。谢谢
答案 0 :(得分:2)
试试这个:
for a in json:
for b in a['elements']:
print b['name']
答案 1 :(得分:0)
使用您的代码,您试图从字典'elements'
中获取密钥json
的值。但是json
不是一个词典,而是一系列词汇。因此,你应该做的是:
for dic_x in json:
for dic_y in dic_x['elements']:
print dic_y['name']
答案 2 :(得分:0)
您需要循环浏览list
,然后继续处理您的数据,就像您使用dicts
一样,例如:
my_json = [
{
"status":"passed",
"elements":[{"name":"foo"},{"name":"bar"}]
},
{
"status":"failed",
"elements":[{"name":"foo1"},{"name":"bar1"}]
}
]
for element in my_json:
for v in element["elements"]:
print(v["name"])
输出:
foo
bar
foo1
bar1