json和pickle
### 序列化
#### 知识点
1. `json`
2. `pickle`
### `json`
用于字符串和`python` 数据类型之间的转换。
假如,我要传送一个字典出去,需要解决两个主要问题:
怎么表达这个字典成一个字符串?怎么把一个字符串,读回一个字典?
因此,我们需要一个标准化的,字符串表达方式,例如JSON,有点类似于,编码与解码。
基本接口:
```python
#1.dumps(python对象)
#通常是,字典,元祖,列表,字符串,数字
#返回的是一个,JSON字符串
#2. loads(string)
#读取一个JSON字符串,如果满足格式标准,那么就会返回出如下四种之一
#字典,列表,字符串,数字
#3. dump(obj, file)
#dumps + open + write
#例:
import json
the_dict = {
'a':123,
'b':456
}
with open('json.txt', 'w') as f:
json.dump(the_dict, f)
#4. load(file)
#loads + open + read
with open('json.txt','r') as f:
print json.load(f)
```
#### `pickle`
把变量从内存中变成可存储或传输的过程称之为序列化
`pickle`实现python的bytes类型与python其他数据类型之间的转换。
```python
#1.dumps(python对象)
#通常是,字典,元祖,列表,字符串,数字
#返回的是一个,bytes字符串
#2. loads(string)
#读取一个bytes字符串,如果满足格式标准,那么就会返回出如下四种之一
#字典,列表,字符串,数字
#3. dump(obj, file)
#dumps + open + write
#例:
import pickle
the_dict = {
'a':123,
'b':456
}
with open('pickle.txt', 'wb') as f:
pickle.dump(the_dict, f)
#4. load(file)
#loads + open + read
with open('pickle.txt','rb') as f:
xx = pickle.load(f)
print(xxx)
```