json和pickle的序列化和反序列化
时间: 2024-07-19 20:00:44 浏览: 145
JSON (JavaScript Object Notation) 和 pickle 是两种常见的数据序列化和反序列化的工具。
1. JSON:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。在Python中,我们可以使用`json`模块来进行序列化和反序列化操作。例如:
- 序列化:将Python对象转换为JSON字符串:
```python
import json
data = {"name": "John", "age": 30}
json_str = json.dumps(data)
```
- 反序列化:将JSON字符串转换回Python对象:
```python
json_str = '{"name": "Jane", "age": 35}'
data = json.loads(json_str)
```
2. Pickle:
Pickle 是Python内置的一种用于序列化和反序列化复杂 Python 对象的方法。它可以保存几乎所有的Python类型,包括自定义类实例、函数、异常等。序列化过程如下:
- 序列化:
```python
import pickle
data = {"name": "Alice", "list": [1, 2, 3]}
with open('data.pickle', 'wb') as file:
pickle.dump(data, file)
```
- 反序列化:
```python
with open('data.pickle', 'rb') as file:
unpickled_data = pickle.load(file)
```
阅读全文