Python JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于阅读和编写,并且可以与多种编程语言进行交互。Python 中的 json 模块提供了一组用于处理 JSON 数据的工具和方法,包括将 Python 对象序列化为 JSON 字符串,以及将 JSON 字符串反序列化为 Python 对象。
下面分别介绍一下 Python 中的 JSON 序列化和反序列化的用法。
## JSON 序列化
将 Python 对象序列化为 JSON 字符串可以使用 json.dumps() 函数,它接受一个 Python 对象作为参数,返回一个 JSON 字符串。下面是一个简单的例子:
```python
import json
data = {
"name": "Alice",
"age": 20,
"hobbies": ["reading", "traveling", "photography"]
}
json_data = json.dumps(data)
print(json_data)
```
在这个例子中,我们定义了一个名为 data 的 Python 字典对象,它包含了一个字符串、一个整数和一个列表。然后我们使用 json.dumps() 函数将 data 序列化为 JSON 字符串,并使用 print() 函数输出结果。
## JSON 反序列化
将 JSON 字符串反序列化为 Python 对象可以使用 json.loads() 函数,它接受一个 JSON 字符串作为参数,返回一个 Python 对象。下面是一个简单的例子:
```python
import json
json_data = '{"name": "Alice", "age": 20, "hobbies": ["reading", "traveling", "photography"]}'
data = json.loads(json_data)
print(data)
```
在这个例子中,我们定义了一个名为 json_data 的 JSON 字符串,它包含了一个字符串、一个整数和一个列表。然后我们使用 json.loads() 函数将 json_data 反序列化为 Python 对象,并使用 print() 函数输出结果。
需要注意的是,在进行 JSON 序列化和反序列化时,需要确保被序列化和反序列化的 Python 对象类型和 JSON 数据类型是兼容的。例如,Python 中的元组和集合等类型无法直接被序列化为 JSON 数据,需要进行类型转换。