簡體   English   中英

如何從我的 JSON 數據中提取和打印值列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM