json.dumps()
是 Python 标准库 json
模块中的一个函数,用于将 Python 对象编码成 JSON 格式的字符串。以下是其基本用法和一些参数说明:
基本用法
import json
data = {
'name': 'Alice',
'age': 30,
'city': 'New York'
}
json_string = json.dumps(data)
print(json_string)
输出:
{"name": "Alice", "age": 30, "city": "New York"}
参数说明
-
obj
:要编码的 Python 对象。 -
skipkeys
:如果为True
,则跳过字典中不是基本类型(如自定义类)的键。 -
ensure_ascii
:如果为True
,则所有非 ASCII 字符会被转义为 Unicode 转义序列;如果为False
,则尝试直接使用utf-8
编码写入。 -
check_circular
:如果为True
,在对象中存在循环引用时抛出TypeError
。 -
allow_nan
:如果为True
,允许序列化NaN
、Infinity
和-Infinity
。 -
cls
:指定一个自定义的编码函数。 -
indent
:指定缩进的空格数,使输出更易读。 -
separators
:自定义分隔符,用于键值对之间以及键与值之间的分隔。 -
default
:指定一个函数,用于处理无法直接序列化的对象。 -
sort_keys
:如果为True
,则按照字典键的字母顺序排序输出。
示例
import json
data = {
'name': 'Winnie',
'age': 20
}
# 使用 indent 参数
json_string_indented = json.dumps(data, indent=4)
print(json_string_indented)
输出:
{
"name": "Winnie",
"age": 20
}
json.dumps()
函数在需要将 Python 数据结构转换为 JSON 格式的字符串时非常有用,尤其是在与 Web 服务器交互或数据存储到文件中时。