Discuss / Python / 遇见datetime不能json序列化问题

遇见datetime不能json序列化问题

Topic source

报错AttributeError: 'datetime.datetime' object has no attribute 'dict': resp = web.Response(body=json.dumps(r, ensure_ascii=False, default=lambda o: o.dict).encode('utf-8')) 这句每次执行都报不能datetime.datetime的问题 解决办法:

def json_default(value): if isinstance(value, datetime): return value.strftime('%Y-%m-%d %H:%M:%S') elif isinstance(value, date): return value.strftime('%Y-%m-%d') else: return value resp = web.Response(body=json.dumps(r, ensure_ascii=False, default=json_default).encode('utf-8')) 在外层将datetime类型转为str类型

#####不知道这么解决是否正确,有什么好方法大家推荐一下,我mysql数据的类型是datetime类型,不太喜欢将日期时间类型写成String类型。


  • 1

Reply