Python的json包
json
模块是 Python 标准库中用于处理 JSON(JavaScript Object Notation)数据格式的模块。JSON 是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。在 Python 中,json
模块提供了用于编码(序列化)和解码(反序列化)JSON 数据的函数,以及与 Python 数据类型之间的转换。
1. 导入 json 模块
2. 常用函数和方法
2.1 json.dumps()
将 Python 对象转换为 JSON 格式的字符串(序列化)。
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print(f"JSON 字符串: {json_str}")
2.2 json.loads()
将 JSON 格式的字符串解析为 Python 对象(反序列化)。
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(f"Python 对象: {data}")
2.3 json.dump()
将 Python 对象写入 JSON 格式的文件。
data = {'name': 'John', 'age': 30, 'city': 'New York'}
with open('data.json', 'w') as f:
json.dump(data, f)
2.4 json.load()
从 JSON 格式的文件中读取数据并转换为 Python 对象。
2.5 处理复杂数据类型
json
模块支持处理包括列表、字典、字符串、数字、布尔值和 None 在内的多种数据类型。可以通过参数控制序列化和反序列化的行为,如 indent
控制缩进、sort_keys
控制键的排序等。
3. 示例用法
以下是一个简单的示例,展示了 json
模块中几个常用函数的基本用法:
import json
# 将 Python 对象转换为 JSON 字符串
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print(f"JSON 字符串: {json_str}")
# 将 JSON 字符串解析为 Python 对象
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(f"Python 对象: {data}")
# 将 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(f"Python 对象: {data}")
4. 总结
json
模块是 Python 中用于处理 JSON 数据格式的标准工具,提供了序列化、反序列化以及与文件交互的函数和方法。通过 json
模块,可以方便地在 Python 中进行 JSON 数据的编码和解码操作,使得 Python 应用能够轻松地与其他系统进行数据交换和通信。