json.dumps,无法序列化某些对象格式 逃离我推掉我的手 2023-06-09 14:25 1阅读 0赞 在使用json格式保存数据时,经常会遇到xxx is not JSON serializable,也就是无法序列化某些对象格式 其中使用numpy时,使用了np的数据格式,写入data后,json.dumps(data)失败的问题,可通过自定义序列化方法解决 1.继承json.JSONEncoder,自定义序列化方法。 class CustomEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, np.integer): return int(obj) elif isinstance(obj, np.floating): return float(obj) elif isinstance(obj, np.ndarray): return obj.tolist() else: return super(CustomEncoder, self).default(obj) 2.使用dumps方法(我们可以直接把dict直接序列化为json对象)加上 cls=CustomEncoder,data就可以正常序列化了 json.dumps(data, cls=CustomEncoder) 自定义一个序列化方法,然后dumps的时候加上cls=CustomEncoder
还没有评论,来说两句吧...