TypeError: Object of type ‘datetime’ is not JSON serializable (with serialize function)
原因:
python中这个错误的原因是json.dumps无法对字典中的datetime时间格式数据进行转化,dumps的原功能是将dict转化为str格式,不支持转化时间,所以需要将json类部分内容重新改写,来处理这种特殊日期格式。
解决方案:
import datetime
import json
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return str(obj)
else:
return super().default(obj)
my_dict = {'date': datetime.datetime.now()}
print(json.dumps(my_dict, cls=MyEncoder))
输出:
{"date": "2019-11-05 14:31:18.939157"}