📅  最后修改于: 2023-12-03 14:46:38.033000             🧑  作者: Mango
在 Python 中,我们可以使用 json
模块来进行 JSON 序列化和反序列化操作。下面就来介绍一下具体的使用方法。
JSON 序列化指将 Python 对象转化为 JSON 字符串。使用 json.dumps()
函数即可实现。
import json
data = {'name': 'Tom', 'age': 20}
json_str = json.dumps(data)
print(json_str)
# 输出:{"name": "Tom", "age": 20}
其中,data
是一个 Python 字典对象,json_str
是它被序列化后得到的 JSON 字符串。
json.dumps()
还有一些可选的参数,如 indent
、separators
、sort_keys
等。这些参数可以帮助我们控制序列化后的 JSON 字符串格式。具体使用方法可以查看官方文档。
JSON 反序列化指将 JSON 字符串转化为 Python 对象。使用 json.loads()
函数即可实现。
import json
json_str = '{"name": "Tom", "age": 20}'
data = json.loads(json_str)
print(data)
# 输出:{'name': 'Tom', 'age': 20}
其中,json_str
是一个 JSON 字符串,data
是它被反序列化后得到的 Python 对象。
json.loads()
同样也有一些可选的参数,如 object_hook
、parse_float
、parse_int
等。这些参数可以帮助我们控制反序列化后的 Python 对象类型。具体使用方法可以查看官方文档。
有时候,我们需要同时进行 JSON 序列化和反序列化操作。此时,可以使用 json.dump()
和 json.load()
函数完成。
import json
data = {'name': 'Tom', 'age': 20}
# 将 Python 对象序列化为 JSON 并写入文件
with open('data.json', 'w') as f:
json.dump(data, f)
# 从文件中读取 JSON 并反序列化为 Python 对象
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
# 输出:{'name': 'Tom', 'age': 20}
其中,json.dump()
函数将 Python 对象序列化为 JSON 并写入文件,json.load()
函数从文件中读取 JSON 并反序列化为 Python 对象。
以上就是 Python 中的 JSON 序列化操作。使用 json
模块,我们可以方便地将 Python 对象转化为 JSON 字符串,也可以将 JSON 字符串反序列化为 Python 对象,极大地方便了我们的数据处理。