• 欢迎访问DBA的辛酸事儿,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 欢迎大家关注博主公众号:DBA的辛酸事儿
  • 博文中若有错误的地方,请大家指正,大家的指正是我前进的动力

Python报错:datetime.datetime(2021, 1, 6, 18, 0, 36) is not JSON serializable

python SEian.G 3年前 (2021-01-07) 2692次浏览 已收录 0个评论

今天在执行python程序的时候出现如下的报错信息:

datetime.datetime(2021, 1, 6, 18, 0, 36) is not JSON serializable

部分代码段如下所示:

result_json = json.dumps(data)
print result_json

序列化的数据示例:

((118207L, u'acc_register', u'safemobile_20210106', 23771L, 24371L, 600L, 600L, datetime.datetime(2021, 1, 6, 18, 0, 26)),)

解决方案:

import json
import datetime

class DateEncoder(json.JSONEncoder):
    def default(self,obj):
        if isinstance(obj,datetime.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)

在使用json.dumps序列化的时候,调用上面定义的函数即可,如下:

result_json =json.dumps(data, cls=DateEncoder) 
print result_json

添加之后,重新执行,问题解决

Python报错:datetime.datetime(2021, 1, 6, 18, 0, 36) is not JSON serializable


如果您觉得本站对你有帮助,那么可以收藏和推荐本站,帮助本站更好地发展,在此谢过各位网友的支持。
转载请注明原文链接:Python报错:datetime.datetime(2021, 1, 6, 18, 0, 36) is not JSON serializable
喜欢 (3)
SEian.G
关于作者:
用心去记录工作,用心去感受生活,用心去学着成长;座右铭:苦练七十二变,笑对八十一难
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址