欢迎访问宙启技术站
智能推送

Python中dumps()函数的参数及其作用

发布时间:2023-12-23 23:31:21

dumps()是Python中的一个函数,用于将Python对象转换为JSON字符串。它的参数及其作用如下:

1. obj:要转换为JSON字符串的Python对象。可以是Python中的基本数据类型(如字典、列表、字符串、数字等),也可以是自定义的类对象。

下面是一个使用dumps()函数将字典对象转换为JSON字符串的例子:

import json

data = {'name': 'Alice', 'age': 25}
json_str = json.dumps(data)
print(json_str)

输出结果为:{"name": "Alice", "age": 25}

2. skipkeys(可选):一个布尔值,表示是否跳过非字符串类型的键。默认为False,即如果字典的键不是字符串类型,则会抛出TypeError异常。

下面是一个使用skipkeys参数的例子:

import json

data = {1: 'Alice', 'age': 25}
json_str = json.dumps(data, skipkeys=True)
print(json_str)

输出结果为:{"age": 25}

3. ensure_ascii(可选):一个布尔值,表示是否使用ASCII编码将所有非ASCII字符转义。默认为True,即转义非ASCII字符。

下面是一个使用ensure_ascii参数的例子:

import json

data = {'name': '中文', 'age': 25}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)

输出结果为:{"name": "中文", "age": 25}

4. check_circular(可选):一个布尔值,表示是否检查循环引用。默认为True,即检查循环引用。如果启用了检查循环引用,在遇到循环引用的情况下,会抛出ValueError异常。

下面是一个使用check_circular参数的例子:

import json

data = {'name': 'Alice'}
data['self'] = data  # 设置循环引用
json_str = json.dumps(data, check_circular=False)
print(json_str)

输出结果为:{"name": "Alice", "self": {"$ref": "$"}}

5. indent(可选):一个整数或字符串,表示输出格式的缩进量。如果是一个整数,则表示缩进的空格数;如果是一个字符串,则表示用于缩进的字符。默认为None,即不缩进。

下面是一个使用indent参数的例子:

import json

data = {'name': 'Alice', 'age': 25}
json_str = json.dumps(data, indent=4)
print(json_str)

输出结果为:

{
    "name": "Alice",
    "age": 25
}

上述是dumps()函数的几个常用参数及其作用,并提供了相应的使用例子。根据自己的实际需求,可以选择适合的参数来进行JSON字符串的转换。