场景:

通常数据库的时间字段都是自动添加,或者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序列化问题