美文网首页
python json 序列化时间报错解决

python json 序列化时间报错解决

作者: 边小仙 | 来源:发表于2019-04-24 17:36 被阅读0次
    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 序列化时间报错解决

          本文链接:https://www.haomeiwen.com/subject/xfqngqtx.html