在 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