我有一个从文件加载的JSON对象,如下所示。我想为所有CityName值解析JSON对象。
{
"CityList": [
{
"Continent": "USA",
"CityName": "Chicago"
},
{
"Continent": "Russia",
"CityName": "Moscow"
},
{
"Continent": "Asia",
"CityName": "Beijing"
},
{
"Continent": "Australia",
"CityName": "Sydney"
}
]
}
我正在使用Python脚本通过FOR循环从JSON中提取CityName元素。由于某些其他原因,我想在下游使用“名称”变量。
name=Chicago
name=Moscow
name=Beijing
name=Sydney
到目前为止,我已经尝试了以下方法。
with open('city_names.json','r') as read_file:
json_data = read_file.read()
data = json.loads(json_data)
for k,v in data.items():
name=v['CityName']
print(name)
在运行上述命令一段时间后,我一直收到此错误“ TypeError:列表索引必须是整数,而不是 str“。我知道问题出在哪里,但不幸的是,我不知道 固定。非常感谢您的帮助。
答案 0 :(得分:1)
要获取CityName,您可以遍历data['CityList']
,因为它是一个列表:
for v in data['CityList']:
name=v['CityName']
print(name)
答案 1 :(得分:0)
您的数据是CityList
键下的字典列表,因此您应该首先遍历列表的子字典,然后输出CityName
键的值:
for d in data['CityList']:
print(d['CityName'])