dumps()函数将数据转换为JSON格式?
dumps()函数是Python中的一个内置函数,它能够将Python对象(例如,字典、列表、集合、元组和字符串等)序列化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它主要用于浏览器和服务器之间的数据交换。
下面是一个例子,我们将一些Python对象转换为JSON格式的字符串:
import json
person = {
"name": "John",
"age": 30,
"city": "New York"
}
json_person = json.dumps(person)
print(json_person)
输出:
{"name": "John", "age": 30, "city": "New York"}
在上面的例子中,我们使用dumps()函数将字典person序列化为JSON格式的字符串。我们可以使用loads()函数以相同的方式反序列化JSON字符串,将其转换回Python对象。
import json
json_person = '{"name": "John", "age": 30, "city": "New York"}'
person = json.loads(json_person)
print(person)
输出:
{'name': 'John', 'age': 30, 'city': 'New York'}
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)
下面是一些关于dumps()函数的参数的详细介绍:
1. obj : 这是要序列化的对象。
2. skipkeys : 默认为False。如果字典的键不是基本类型,则将其跳过而不引发TypeError。
3. ensure_ascii : 默认为True。如果ensure_ascii为True(默认情况下),则将所有字节数组序列化为Unicode转义序列,以便输出遵循ASCII。
4. check_circular : 默认为True。如果为True,则循环引用将抛出RecursionError。
5. allow_nan : 默认为True。如果为True,则Infinity, NaN和-Infinity被序列化为"null","NaN"和"-NaN"。
6. cls : 默认为None。如果指定了cls,则使用它来转换非dict对象。
7. indent : 默认为None。要缩进结果的空格数或用于缩进的字符串。非正值(<= 0)表示不进行缩进。如果indent是一个字符串(例如"\t"),则使用该字符串作为缩进。最大缩进层数为1。
8. separators : 默认为(", ", ": ")。指定分隔符的元组。separators是一个元组,由它们组成的字符串将用作基本数据类型之间的分隔符。
9. default : 默认为None。如果指定了default,则用于编码不支持的类型。default函数必须返回一个可支持的Python类型。
10. sort_keys : 默认为False。如果为True,则对字典进行排序(按照键)。
11. **kw : 其他关键字参数将传递给JSONEncoder的构造函数。
