在 Python 中将 JSON 转换为字典
Hemank Mehtani
2021年10月2日
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 中从 URL 获取 JSON
- 如何漂亮打印 JSON 文件
- Python JSON 字符串化
- 在 Python 中使用 requests 发送 JSON 数据
- 用 Python 将 JSON 写入文件