我需要將密鑰名稱和密鑰年齡中的每個值添加到串列中
但是在這段代碼開始后有:
for i in len(jsondata['name']): builtins.KeyError: 'name'
但是你看到我在第二個中有"name": "husky"和"name": "shiba inu"。那你會改寫什么?
謝謝
import json
names=[]
ages=[]
#f = open('jsondata.json')
with open('jsondata.json') as fp:
jsondata = json.load(fp)
for i in len(jsondata['name']):
names.add(jsondata['name'])
for i in len(jsondata['age']):
ages.add(jsondata['age'])
f.close()
json檔案:
{
"dogs": [
{
"name": "husky",
"age": "12",
"urls": [
"https://www.dailypaws.com/dogs-puppies/dog-names/husky-names",
"https://www.tonbridgehuskymalamutewalkinggroup.co.uk/"
]
},
{
"name": "shiba inu",
"age": "3",
"urls": [
"https://www.cryptoglobe.com/latest/2021/10/shiba-inu-shib-listed-on-trading-app-with-over-one-million-users/",
"https://www.purina.co.uk/find-a-pet/dog-breeds/japanese-shibu-inu"
]
}
]
}
uj5u.com熱心網友回復:
for dog in jsondata["dogs"]:
names.append(dog["name"])
ages.append(dog["age"])
uj5u.com熱心網友回復:
您需要獲取嵌套順序。如您所見,鍵 'name' 在 'dogs' 下,則鍵 'name' 在 . 因此,您需要將其稱為
for i in range(len(jsondata['dogs'])):
names.append(jsondata['dogs'][i]['name'])
如果你想獲得條目
uj5u.com熱心網友回復:
您應該在dogs元素上應用回圈
name = []
age = []
data = """{
"dogs": [
{
"name": "husky",
"age": "12",
"urls": [
"https://www.dailypaws.com/dogs-puppies/dog-names/husky-names",
"https://www.tonbridgehuskymalamutewalkinggroup.co.uk/"
]
},
{
"name": "shiba inu",
"age": "3",
"urls": [
"https://www.cryptoglobe.com/latest/2021/10/shiba-inu-shib-listed-on-trading-app-with-over-one-million-users/",
"https://www.purina.co.uk/find-a-pet/dog-breeds/japanese-shibu-inu"
]
}
]
}"""
for m in data['dogs']:
u_name= name.append(m.get('name','N/A'))
u_age = age.append(m.get('age','N/A'))
m.get('age','N/A')陳述句將用作if-elseJSON 中的陳述句
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/343659.html
上一篇:Swift可解碼JSON處理資料
下一篇:將字串轉換為R中的串列
