深入Python json.dumps参数相关知识

发布时间:2023-05-19

一、默认参数

在使用Python json.dumps()函数的时候,如果没有指定任何参数,dumps()函数会将Python对象(字典、列表、元组等)转换为JSON格式的字符串,并且默认情况下会使用ASCII编码进行转换。 下面是一个简单的示例:

import json
data = {"name": "John", "age": 30}
json_data = json.dumps(data)
print(json_data)

输出结果:{"name": "John", "age": 30}

二、indent参数

indent参数用于控制JSON格式化输出时的缩进和间距。 下面是一个示例:

import json
data = {"name": "John", "age": 30}
json_data = json.dumps(data, indent=4)
print(json_data)

输出结果:

{
    "name": "John",
    "age": 30
}

三、sort_keys参数

sort_keys参数用于控制输出字典时的顺序,将其设为True时按照key的ascii码值排序。 下面是一个简单的示例:

import json
data = {"name": "John", "age": 30, "score": {"math": 90, "english": 80}}
json_data = json.dumps(data, sort_keys=True)
print(json_data)

输出结果:{"age": 30, "name": "John", "score": {"english": 80, "math": 90}}

四、ensure_ascii参数

如果在转换JSON格式的字符串时,使用了非ASCII字符,那么默认情况下,json.dumps()函数会将其转换为ASCII编码格式,可以通过ensure_ascii参数设为False来关闭这个功能。 下面是一个示例:

import json
data = {"中文": "测试"}
json_data = json.dumps(data, ensure_ascii=False)
print(json_data)

输出结果:{"中文": "测试"}

五、其他参数

在json的官方文档中,还有一些其他可以自定义输出结果的参数,包括skipkeys、check_circular、allow_nan等,这里不一一介绍,具体可以参阅官方文档。

六、总结

本文对于Python中json.dumps()函数的参数进行了详细的介绍,可以根据需求自定义输出的JSON字符串格式,不同的参数可以组合使用,以得到所需要的结果。