在 Python 中,处理 JSON 数据是一个常见的需求。Python 提供了 json
模块来轻松地进行 JSON 编码和解码。本文将介绍 json.dump
和 json.dumps
两个函数的用法。
json.dump
和 json.dumps
的区别
json.dump
: 将 Python 对象转换为 JSON 字符串,并将其写入文件。json.dumps
: 将 Python 对象转换为 JSON 字符串。
让我们通过代码示例来深入了解它们的用法。
json.dump
示例
json.dump
用于将 Python 对象直接写入文件中。假设我们有一个字典对象需要保存为 JSON 文件。
import json# 要转换为 JSON 的 Python 对象
data = {"name": "John","age": 30,"city": "New York","has_children": False,"titles": ["engineer", "programmer"]
}# 打开一个文件,准备写入 JSON 数据
with open('data.json', 'w') as file:# 使用 json.dump 方法将 Python 对象写入文件json.dump(data, file, indent=4)print("数据已写入 data.json 文件")
上面的代码打开一个文件 data.json
,并使用 json.dump
方法将 data
字典写入文件。indent
参数用于美化输出,使 JSON 文件更具可读性。
json.dumps
示例
json.dumps
用于将 Python 对象转换为 JSON 字符串,常用于需要将 JSON 数据作为字符串处理的场景。
import json# 要转换为 JSON 的 Python 对象
data = {"name": "John","age": 30,"city": "New York","has_children": False,"titles": ["engineer", "programmer"]
}# 使用 json.dumps 方法将 Python 对象转换为 JSON 字符串
json_string = json.dumps(data, indent=4)# 打印 JSON 字符串
print(json_string)
上面的代码使用 json.dumps
方法将 data
字典转换为 JSON 字符串,并打印输出。indent
参数同样用于美化输出。
输出结果如下:
{"name": "John","age": 30,"city": "New York","has_children": False,"titles": ["engineer","programmer"]
}
总结
json.dump
用于将 JSON 数据写入文件。json.dumps
用于将 JSON 数据转换为字符串。