当JSON解析dict遇到特殊序列化的数据类型,无法进行序列化的转换就会产生TypeError的错误 例如numpy 的int64
class Encoder(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(Encoder, self).default(obj)
我们只需要在
json.dumps(data,cls=Encoder,ensure_ascii=False)
ensure_ascii=False是解决在解析中文字符的没法正常的序列的问题