我正在嘗試從 Python 中的 api 請求決議 json 回應,這是一個包含各種型別的字典,包括嵌套字典、陣列和字串。但是當我嘗試遍歷嵌套字典或陣列的值時,它說物件是字串型別并且沒有值。
import requests
import json
def clean_data():
r = requests.get('https://coderbyte.com/api/challenges/json/json-cleaning')
Data = r.json()
for data in Data['name']:
while '' in data.values():
del data[list(data.keys())[list(data.values()).index('')]]
return Data
print(clean_data())
我希望這個列印:
{'name': {'first': 'Robert', 'last': 'Smith'}, 'age': 25, 'DOB': '-', 'hobbies': ['running', 'coding', '-'], 'education': {'highschool': 'N/A', 'college': 'Yale'}}
但是我得到一個錯誤AttributeError: 'str' object has no attribute 'values'
當我除錯時,我確實發現它Data['name']是字串型別。
uj5u.com熱心網友回復:
import requests
import json
def clean_data():
r = requests.get('https://coderbyte.com/api/challenges/json/json-cleaning')
Data = r.json()
for data in list(Data['name']):
if Data['name'][data] == '':
Data['name'].pop(data)
return Data
print(clean_data())
使用此解決方案,輸出將是:
{'name': {'first': 'Robert', 'last': 'Smith'}, 'age': 25, 'DOB': '-', 'hobbies': ['running', 'coding', '-'], 'education': {'highschool': 'N/A', 'college': 'Yale'}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350550.html
