Django解决datetime类型数据不能json序列化问题
场景:
通常数据库的时间字段都是自动添加,或者datetime形式填入,这时候取出来,如果你不循环把它变成字符串,就会报错Object of type 'datetime' is not JSON serializable,所以通过一个继承类方式,来改变datetime类型数据序列化问题,会很方便。
写法:
import datetime class CJsonEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime.datetime): # 这里可以统一修改想要的格式 return obj.strftime('%Y-%m-%d %H:%M:%S') elif isinstance(obj, datetime.date): # 这里可以统一修改想要的格式 return obj.strftime('%Y-%m-%d') else: return json.JSONEncoder.default(self, obj)
调用方式: