1、json.dumps和json.dump的区别
json.dumps()
是将 Python 对象序列化为 JSON 格式的字符串。如果你想将 JSON 数据写入文件,可以将 json.dumps()
生成的字符串写入文件,或者更直接地使用 json.dump()
函数,它会直接将 Python 对象序列化写入文件。
下面是两个方法,一是使用 json.dumps()
然后写入文件,二是使用 json.dump()
直接写入文件。
2、使用 json.dumps()
然后写入文件
import json
data = {"name": "Alice", "age": 30, "is_student": False}
# 序列化为 JSON 字符串
json_str = json.dumps(data, indent=4)
# 将 JSON 字符串写入文件
with open('output.json', 'w', encoding='utf-8') as file:
file.write(json_str)
3、使用 json.dump()
直接写入文件
import json
data = {"name": "Alice", "age": 30, "is_student": False}
# 直接将 JSON 数据写入文件
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4)
4、json.dump()
参数
-
fp
:文件对象,表示要写入的文件。 indent
:指定缩进层级,使得结果更具可读性。如果为None
,则紧凑输出;如果为整数,表示每层缩进的空格数;如果为字符串,则用于每层的缩进。ensure_ascii
:如果为True
,所有非 ASCII 字符将会被转义为\uXXXX
形式。默认值为True
。sort_keys
:布尔值,表示是否对字典的key按字母顺序排序。separators
:元组,指定项目分隔符和键值分隔符。
import json
data = {"name": "Alice", "age": 30, "languages": ["English", "French"], "is_student": False}
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False, sort_keys=True)
json.dumps() 的参数可见博客json.dumps的参数