python的JSON用法——dumps的各种参数用法(详细)
JSON 是一种轻量级的数据交换格式,在 Python 中,可以通过 json 模块来处理 JSON 数据。其中,json.dumps( 函数是将 Python 对象转换为 JSON 字符串的方法。在这里,我将详细介绍它的各种参数用法。
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. obj:需要进行 JSON 编码的 Python 对象。
2. skipkeys:如果设置为 True,则在编码过程中遇到非字符串或数字类型的键时将会跳过。默认为 False。
3. ensure_ascii:如果设置为 True,则所有非 ASCII 字符将会被转义;如果设置为 False,则所有非 ASCII 字符将会原样输出。默认为 True。
4. check_circular:如果设置为 False,则允许在对象中存在循环引用。默认为 True。
5. allow_nan:如果设置为 True,则可以编码 NaN, Infinity 和 -Infinity;如果设置为 False,则会抛出 ValueError。默认为 True。
6. cls:指定一个 JSONEncoder 子类,用于编码对象。默认为 None。
7. indent:指定缩进的数量,用于美化输出的 JSON 字符串。默认为 None。
8. separators:用于指定分隔符的字符串,可以是一个元组或列表。默认为 None,表示没有分隔符。
9. default:用于处理不可序列化的对象的函数。默认为 None,表示这些对象将会引发 TypeError。
10. sort_keys:如果设置为 True,则会按照键的顺序对 JSON 对象进行排序。默认为 False。
下面是使用 json.dumps( 进行 JSON 编码的示例:
```python
import json
data =
'name': 'John',
'age': 30,
'city': 'New York'
# 将 Python 对象编码为 JSON 字符串
json_str = json.dumps(data)
print(json_str)
```
输出结果:
```
{"name": "John", "age": 30, "city": "New York"}
```
其他常用的参数用法示例:
1. skipkeys=True:
```python
data =
'name': 'John',
'age': 30,
'city': 'New York',
(1, 2): 'tuple'
json_str = json.dumps(data, skipkeys=True)
print(json_str)
```
输出结果:
```
{"name": "John", "age": 30, "city": "New York"}
```
在此示例中,由于字典中包含了一个键为元组的项,因此当 skipkeys 设置为 True 时,该项会被跳过。
2. ensure_ascii=False:
```python
data =
'name': 'John',
'age': 30,
'city': 'New York',
'中文':'汉字'
python json字符串转数组json_str = json.dumps(data, ensure_ascii=False)
print(json_str)
```
输出结果:
```
{"name": "John", "age": 30, "city": "New York", "中文": "汉字"}
```
在此示例中,由于 ensure_ascii 设置为 False,使得非 ASCII 字符“中文”不被转义。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。