场景:
通常数据库的时间字段都是自动添加,或者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)
调用方式:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django解决datetime类型数据不能json序列化问题 - Python技术站