我有一个像这样的 python 字典:
mydic = {
'x1': list_of_numpy_array,
'x2': a numpy_array,
'x3': a list_of_numpy_array,
'x4': a list_of_numpy_array
}
我想将这个字典从 flask-api
发送到调用这个 api 的客户端。
当我使用这段代码时:
class GetRepresentationResource(Resource):
url = 'representation'
def get(self):
# previous lines of my code which generates mydic
return {
'data': mydict,
'err': ''
}
我收到错误:不可序列化
最佳答案
我抛出这个错误是因为 np.array 不是 JSON 可序列化的。
在序列化之前,你需要将它们中的每一个都转换成一个列表
尝试以下操作:
for k,v in mydict.items():
if(isinstance(v, np.ndarray)):
mydict[k] = v.tolist()
参见 this Repl.it .
请注意,您需要确保数组中的类型是可序列化的
关于python - 将 numpy 数组列表转换为 json 以从 flask api 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46318383/