[英]How to extract and print a list of values from my JSON data?
我正在使用 Python (3.8) 並且我已經成功調用了一個 API,讓它在運行 Python 文件后在命令行中打印 JSON。 現在,我希望能夠打印一個特定的信息列表(比如來自 JSON 的所有名稱),然后將該列表保存為它自己的數據集,但我遇到了一個塊。
我正在使用的示例 JSON:
{
"data": {
"employees": [
{
"fields": {
"name": "Buddy",
"superheroName": "Syndrome",
"workEmail": "syndrome@example.com",
}
},
{
"fields": {
"name": "Helen Parr",
"superheroName": "Elastigirl",
"workEmail": "elastigirl@example.com",
}
}
]
}
到目前為止,我已經嘗試了以下方法,並且能夠打印“數據”,但是每當我嘗試打印另一個“圖層”並說出...“員工”或“字段”時,我都會碰壁.
url = "my API url"
response = requests.get(url)
if response.status_code != 200:
print('Error with status code {}'.format(response.status_code))
exit()
jsonResponse = response.json()
jsonPretty = json.dumps(jsonResponse, indent=4, sort_keys=True)
jsonDictionary = json.loads(jsonPretty)
keys = jsonDictionary.keys()
for key in jsonDictionary.keys():
print(key)
理想情況下,有人可以分享我如何訪問“名稱”JSON 值並讓 Python 將其打印為如下列表的見解,例如:
Buddy
Helen Parr
JSON 文件基本上是嵌套字典。 jsonDictionary
只包含一個鍵和該鍵下的一個條目: data
和另一個字典,其余分別為您的結果。
如果您想專門訪問name
字段:
employeesDict = jsonDictionary['data']
feildsDictList = employeesDict['employees']
firstFieldsDict = fieldsDictList[0]
secondFieldsDict = fieldsDictList[1]
firstName = firstFieldsDict['name']
secondNAme = secondFieldsDict['name']
您可以像這樣訪問它(確保它已經是字典):
for i in h['data']['employees']:
print(i['fields']['name'])
這樣您就可以使用 i['fields']['name'] 訪問名稱
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.