TypeError:Object of type 'datetime' is not JSON serializable 和 json.dumps函数输出中文乱码解决方案

1、将datetime数据格式转换成json序列化报错:Object of type 'datetime' is not JSON serializable ,重写json构造类如下:

import json, datetime
class DatetimeEncode(json.JSONEncoder):
        def default(self, obj):
                if isinstance(obj, datetime.datetime):
                        return obj.strftime('%Y-%m-%d %H:%M:%S')
                elif isinstance(obj, datetime.date):
                        return obj.strftime('%Y-%m-%d')
                else:
                        return json.JSONEncoder.default(self, obj)

2、引用重写的json构造类,如:json.dumps(data, cls=DatetimeEncode, ensure_ascii=False) 。   因为json.dumps 序列化对中文默认使用ascii编码,需要指定ensure_ascii=False 才能输出真正的中文。

发布了8 篇原创文章 · 获赞 1 · 访问量 2139

猜你喜欢

转载自blog.csdn.net/weixin_44024324/article/details/88880506