json.dumps (&json.loads): 是对数据的操作;
json.dump (&json.load): 也是类似的功能,只是与文件操作结合起来了。
1. json.dumps (&json.loads)
首先json是一种常用的数据格式,它其实也是一种字符串,默认编码是Unicode。
json.dumps: 是将dict转化成 str
json.loads: 是将str转化成 dict
值得注意的是再次load回来时,key从int变成了str。
同时在json.dumps时,有一些数据类型是不能被序列化的,例如:set,datatime等。解决方式两种:
1、遇到时转换;
json.dumps(data, default=lambda obj: list(obj) if isinstance(obj, set) else obj)
2、自定义序列化。
import json
from datetime import datetime,date
class CustomerJson(json.JSONEncoder):
def default(self, o):
if isinstance(o,datetime):