python json 序列化时间报错解决

import json 
import datetime
import date
class DateEncoder(json.JSONEncoder):
    """
    解决json序列化时时间不能序列化问题
    例:json.dumps(data, cls=DateEncoder)
    """
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(obj, date):
            return obj.strftime("%Y-%m-%d")
        else:
            return json.JSONEncoder.default(self, obj)


def data_default(obj):
    """
    解决json序列化时时间不能序列化问题
    例:json.dumps(data, default=data_default)
    :param obj:
    :return:
    """
    if isinstance(obj, datetime):
        return obj.strftime('%Y-%m-%d %H:%M:%S')
    elif isinstance(obj, date):
        return obj.strftime("%Y-%m-%d")
    else:
        return obj

#例:
json.dumps([{"1":datetime.datetime(2019, 4, 24, 16, 47, 40, 636361)}], cls=data_default)
json.dumps([{"1":datetime.datetime(2019, 4, 24, 16, 47, 40, 636361)}], default=DateEncoder)

你可能感兴趣的:(python json 序列化时间报错解决)