JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
- json.dumps(): 对数据进行编码(将python对象编码为json的字符串)。
- json.loads(): 对数据进行解码(将字符串编码为一个python对象)。
json.dumps 与 json.loads 实例
以下实例演示了 Python 数据结构转换为JSON:
#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data = {
'no' : 1,
'name' : 'Runoob',
'url' : 'https://www.csdn.net'
}
json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)
执行以上代码输出结果为:
Python 原始数据: {'url': 'https://www.csdn.net', 'no': 1, 'name': 'csdn'}
JSON 对象: {"url": "https://www.csdn.net", "no": 1, "name": "csdn"}
通过输出的结果可以看出,简单类型通过编码后跟其原始的repr()输出结果非常相似。
接着以上实例,我们可以将一个JSON编码的字符串转换回一个Python数据结构:
#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data1 = {
'no' : 1,
'name' : 'csdn',
'url' : 'https://www.csdn.net'
}
json_str = json.dumps(data1)
print ("Python 原始数据:", repr(data1))
print ("JSON 对象:", json_str)
# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])
执行以上代码输出结果为:
Python 原始数据: {'no': 1, 'name': 'csdn', 'url': 'https://www.csdn.net'}
JSON 对象: {"no": 1, "name": "csdn", "url": "https://www.csdn.net"}
data2['name']: csdn
data2['url']: https://www.csdn.net