[英]How to map JSON values using Python in an iterable fashion
我有一個從文件加載的 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”變量。
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)
在很長一段時間內運行上述操作失敗后,我不斷收到此錯誤“類型錯誤:列表索引必須是整數,而不是 str”。 我知道問題是什么,但不幸的是我不知道修復方法。 非常感謝幫助。
要獲取 CityName,您可以遍歷data['CityList']
因為它是一個列表:
for v in data['CityList']:
name=v['CityName']
print(name)
您的數據是CityList
鍵下的字典列表,因此您應該先遍歷列表的子字典,然后輸出CityName
鍵的值:
for d in data['CityList']:
print(d['CityName'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.