json.dumps() 和 json.loads() 是 Python 中用于 JSON 序列化和反序列化的函数。
JSON 序列化 是将 Python 对象转换为 JSON 字符串的过程。JSON 反序列化 是将 JSON 字符串转换为 Python 对象的过程。
json.dumps() 函数
- 将 Python 对象转换为 JSON 字符串。
- 可以指定一些参数来控制 JSON 字符串的格式,例如缩进、排序等。
示例:
Python
import json
data = {"name": "John Doe", "age": 30}
json_string = json.dumps(data)
print(json_string)
输出:
{"name": "John Doe", "age": 30}
json.loads() 函数
- 将 JSON 字符串转换为 Python 对象。
- 可以指定一些参数来控制如何解析 JSON 字符串,例如是否允许解析 NaN、Infinity 等。
示例:
Python
import json
json_string = '{"name": "John Doe", "age": 30}'
data = json.loads(json_string)
print(data)
输出:
{'name': 'John Doe', 'age': 30}
两者的区别
区别 | json.dumps() | json.loads() |
---|---|---|
作用 | 将 Python 对象转换为 JSON 字符串 | 将 JSON 字符串转换为 Python 对象 |
参数 | 可以指定缩进、排序等参数 | 可以指定是否允许解析 NaN、Infinity 等参数 |
应用场景
- 在网络传输数据时,通常使用 JSON 格式来传输数据,因为 JSON 格式是轻量级的、易于解析的。
- 在存储数据时,可以使用 JSON 格式来存储数据,因为 JSON 格式是易于阅读和编辑的。
总结
json.dumps() 和 json.loads() 是 Python 中用于 JSON 序列化和反序列化的重要函数,可以用于在 Python 和其他语言之间传输数据,或者用于存储数据。