TypeError: Object of type ‘type’ is not JSON serializable解决方法

python3 json序列化时遇到的一个错误,报错信息如下:

TypeError: Object of type 'type' is not JSON serializable

原因:

这个问题是由于json.dumps()函数引起的。dumps是将dict数据转化为str数据,但是dict数据中包含byte数据所以会报错。

解决方案:自己实现一个一个解码类 遇到byte就转为str,代码如下:

import json


class MyEncoder(json.JSONEncoder):

    def default(self, obj):
        """
        只要检查到了是bytes类型的数据就把它转为str类型
        """
        if isinstance(obj, bytes):
            return str(obj, encoding='utf-8')

json.dumps(data)

改写为

json.dumps(data,cls=MyEncoder)

如果你还有问题可以在评论区交流哦!

发表回复