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

Python中dumps()函数的输出格式配置及定制化设置

发布时间:2024-01-08 16:10:50

Python中的dumps()函数是用于将Python对象转换为JSON格式的字符串。它可以通过一些参数来定制输出格式,并进行一些定制化设置。

dumps()函数的语法如下所示:

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

下面我们来详细介绍一些常用的参数及其使用例子:

1. indent参数

indent参数用于指定每一级缩进的空格数量,可以用来美化输出的JSON字符串。默认情况下,indent参数为None,表示不进行缩进。

   import json
   
   data = {'name': 'John', 'age': 30, 'city': 'New York'}
   
   # 不使用缩进
   json_string = json.dumps(data)
   print(json_string)
   
   # 使用2个空格进行缩进
   json_string = json.dumps(data, indent=2)
   print(json_string)
   

输出结果:

   {"name": "John", "age": 30, "city": "New York"}
   {
     "name": "John",
     "age": 30,
     "city": "New York"
   }
   

2. separators参数

separators参数用于指定在生成JSON字符串时的分隔符的字符串。默认情况下,separators参数为(', ', ': '),表示用逗号加空格分隔属性和冒号加空格分隔属性名称和属性值。

   import json
   
   data = {'name': 'John', 'age': 30, 'city': 'New York'}
   
   # 默认的分隔符
   json_string = json.dumps(data)
   print(json_string)
   
   # 去掉分隔符
   json_string = json.dumps(data, separators=(',', ':'))
   print(json_string)
   

输出结果:

   {"name": "John", "age": 30, "city": "New York"}
   {"name":"John","age":30,"city":"New York"}
   

3. sort_keys参数

sort_keys参数用于指定在生成JSON字符串时是否按照属性名称进行排序。默认情况下,sort_keys参数为False,表示按照属性在对象中的顺序进行输出。

   import json
   
   data = {'name': 'John', 'age': 30, 'city': 'New York'}
   
   # 不排序
   json_string = json.dumps(data, sort_keys=False)
   print(json_string)
   
   # 排序
   json_string = json.dumps(data, sort_keys=True)
   print(json_string)
   

输出结果:

   {"name": "John", "age": 30, "city": "New York"}
   {"age": 30, "city": "New York", "name": "John"}
   

这些是一些常用的参数及其使用例子,还有一些其他的参数如skipkeysensure_asciicheck_circularallow_nanclsdefault等,可以根据具体需求进行查阅和使用。