在 Python 中將 JSON 轉換為字典

Hemank Mehtani 2021年10月2日
在 Python 中將 JSON 轉換為字典

JSON 是 JavaScript 物件表示法,用於儲存和傳輸資料。Python 程式語言通過名為 json 的內建庫包支援 JSON。它的格式非常類似於 Python 中的字典或列表。

在本教程中,我們將在 Python 中將 JSON 字串轉換為字典。

json.load() 函式用於解析 JSON 字串。此函式返回的最終型別取決於它正在讀取的 JSON 資料的型別。無論在哪裡遇到方括號,它都會將資料作為列表讀取。當遇到花括號時,最終型別在字典中。

請參考下面的程式碼。

import json  

j_data = '''
          {
              "0":{
                  "Name": "Nick",
                  "Age": "22"
              },
              "1":{
                  "Name": "Hemank",
                  "Age": "21"
              },
              "2":{
                  "Name": "Sam",
                  "Age":"25"
              }
          }
    '''

d = json.loads(j_data)
print(d)
print(d['0']['Name'])
print(d['1']['Age'])

輸出:

{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}
Nick
21

請注意上面示例中 JSON 資料的格式。它用花括號括起來。這就是為什麼最終輸出是字典形式的原因。我們還使用鍵遍歷字典並訪問單個值。

但是,如果資料包含在方括號中,json.loads() 函式將讀取列表中的資料。我們可以從列表中選擇字典元素。

例如,

import json  

j_data = '''
          [{
              "0":{
                  "Name": "Nick",
                  "Age": "22"
              },
              "1":{
                  "Name": "Hemank",
                  "Age": "21"
              },
              "2":{
                  "Name": "Sam",
                  "Age":"25"
              }
          }
          ]
    '''

d = json.loads(j_data)
print(d[0])

輸出:

{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}

請注意 JSON 資料中的細微變化。最後一種型別是列表。這就是為什麼我們提取第一個元素,即字典。我們可以類似地使用各個鍵遍歷字典並訪問不同的值。

相關文章 - Python JSON

相關文章 - Python Dictionary