【发布时间】:2016-04-29 07:59:53
【问题描述】:
我有一个包含 JSON 数据的文件,如下所示:
{
"Results": [
{"Id": "001",
"Name": "Bob",
"Items": {
"Cars": "1",
"Books": "3",
"Phones": "1"}
},
{"Id": "002",
"Name": "Tom",
"Items": {
"Cars": "1",
"Books": "3",
"Phones": "1"}
},
{"Id": "003",
"Name": "Sally",
"Items": {
"Cars": "1",
"Books": "3",
"Phones": "1"}
}]
}
我不知道如何正确循环 JSON。我想遍历数据并为数据集中的每个成员获取带有 Cars 的名称。我怎样才能做到这一点?
import json
with open('data.json') as data_file:
data = json.load(data_file)
print data["Results"][0]["Name"] # Gives me a name for the first entry
print data["Results"][0]["Items"]["Cars"] # Gives me the number of cars for the first entry
我尝试使用以下方法循环它们:
for i in data["Results"]:
print data["Results"][i]["Name"]
但是收到一个错误: TypeError:列表索引必须是整数,而不是字典
【问题讨论】:
-
for i in data["Results"]: i["Name"] -
如果我理解正确,你想要:
{person['Name']: person['Items']['Cars'] for person in data["Results"]}。
标签: python arrays json for-loop