json序列化和反序列化
时间: 2023-06-21 17:06:03 浏览: 66
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用中传输数据。在Python中,可以使用json模块来实现JSON数据的序列化(将Python对象转换成JSON格式的字符串)和反序列化(将JSON格式的字符串转换成Python对象)。
### 序列化
将Python对象转换成JSON格式的字符串,可以使用`json.dumps()`函数。例如:
```python
import json
data = {
"name": "Alice",
"age": 25,
"is_student": True,
"hobbies": ["reading", "coding", "traveling"],
"address": {
"city": "Beijing",
"country": "China"
}
}
json_data = json.dumps(data)
print(json_data)
```
输出结果为:
```json
{"name": "Alice", "age": 25, "is_student": true, "hobbies": ["reading", "coding", "traveling"], "address": {"city": "Beijing", "country": "China"}}
```
### 反序列化
将JSON格式的字符串转换成Python对象,可以使用`json.loads()`函数。例如:
```python
import json
json_data = '{"name": "Alice", "age": 25, "is_student": true, "hobbies": ["reading", "coding", "traveling"], "address": {"city": "Beijing", "country": "China"}}'
data = json.loads(json_data)
print(data)
```
输出结果为:
```python
{'name': 'Alice', 'age': 25, 'is_student': True, 'hobbies': ['reading', 'coding', 'traveling'], 'address': {'city': 'Beijing', 'country': 'China'}}
```
注意,在JSON格式的字符串中,布尔值和None的表示方式分别为`true`和`false`、`null`,在Python中分别对应True和False、None。此外,JSON格式的字符串中的键值对必须使用双引号括起来,而Python中的字典可以使用单引号或双引号括起来。
阅读全文