json和pickle这两个模块主要适用于序列化,其中:
- json用于字符串和Python数据类型之间进行转化。
- pickle用于Python特有的类型和Python的数据类型之间进行转换。
这两个模块都有4个相同的ff,分别是dump、dumps、load和loads.用法完全一样。
1. json.dumps
json.dumps 用于将 Python 对象编码成 JSON 字符串。
data = { 'k1':'v1','k2':'v2'}print(json.dumps(data)) # 序列化# { "k2": "v2", "k1": "v1"}print(type(json.dumps(data)))## 将字典类型转化为str类型
2. json.loads
json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
json_data = json.dumps(data)print(json.loads(json_data))# { 'k1': 'v1', 'k2': 'v2'}print(type(json.loads(json_data)))#将str类型转化为字典类型
3.json.dump
此函数用于将数据写入到文件中
data = { 'k1':'v1','k2':'v2'}with open('a.json','a') as fp: json.dump(data,fp)
4. json.load
把文件打开,并把字符串变换为数据类型
fp = open('a.json','r',encoding='utf-8')date = json.load(fp)print(data)