json.dumps时遇到报错TypeError

在使用json的时候经常会遇到xxx is not JSON serializable,也就是无法序列化某些对象。经常使用django的同学知道django里面有个自带的Encoder来序列化时间等常用的对象。其实我们可以自己定定义对特定类型的对象的序列化,下面看下怎么定义和使用的。

        class MyEncoder(json.JSONEncoder):
            def default(self, obj):
                if isinstance(obj, pd._libs.tslibs.timestamps.Timestamp):
                    return str(obj)
                elif isinstance(obj, np.floating):
                    return float(obj)
                else:
                    return json.JSONEncoder.default(self, obj)
return json.dumps(return_js, cls=myEncoder)

你可能感兴趣的:(json.dumps时遇到报错TypeError)