Python 中的 dump
方法通常用于将 Python 对象序列化为 JSON 格式
obj
: 需要被序列化的 Python 对象。fp
: 一个可写的文件对象,用于将序列化后的 JSON 字符串写入文件。skipkeys
: 如果设置为 True
,则在遇到不可序列化的键时跳过它们;否则,会引发 TypeError
。默认值为 False
。ensure_ascii
: 如果设置为 True
,则输出的 JSON 字符串中的非 ASCII 字符会被转义为 \uXXXX
形式;如果设置为 False
,则这些字符会原样输出。默认值为 True
。check_circular
: 如果设置为 True
,则检查对象是否包含循环引用,并在遇到循环引用时引发 ValueError
。默认值为 True
。allow_nan
: 如果设置为 True
,则允许 NaN
、Infinity
和 -Infinity
等特殊浮点数值;如果设置为 False
,则在遇到这些值时引发 ValueError
。默认值为 True
。cls
: 指定一个自定义的 JSONEncoder 类,以便对对象进行自定义编码。indent
: 指定输出 JSON 字符串的缩进级别。如果设置为 None
(默认值),则输出的 JSON 字符串将不会缩进;如果设置为一个非负整数,则输出的 JSON 字符串将使用相应数量的空格进行缩进。separators
: 一个包含两个字符串元素的元组,用于指定分隔符。第一个元素用于分隔键值对,第二个元素用于分隔元素。默认值为 (', ', ': ')
。default
: 一个函数,用于处理无法直接序列化的对象。该函数应返回一个可序列化的对象,或者引发 TypeError
。sort_keys
: 如果设置为 True
,则在输出 JSON 字符串时按键名排序;如果设置为 False
,则保持键的原始顺序。默认值为 False
。以下是一个使用 json.dump()
方法的示例:
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open("data.json", "w") as fp:
json.dump(data, fp, indent=4)
这将把 data
字典序列化为 JSON 字符串,并将其写入名为 data.json
的文件中,同时使用四个空格进行缩进。