在 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 数据转换为字符串。
