将 numpy 数组列表转换为 json 以从烧瓶 api 返回
Posted
技术标签:
【中文标题】将 numpy 数组列表转换为 json 以从烧瓶 api 返回【英文标题】:Convert a list of numpy arrays to json for return from flask api 【发布时间】:2018-03-01 07:09:21 【问题描述】:我在 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': ''
我得到了错误:Is not serializeable
【问题讨论】:
NumPy array is not JSON serializable的可能重复 【参考方案1】:我抛出这个错误是因为 np.array 不是 JSON 可序列化的。
你需要在序列化之前将它们中的每一个都转换成一个列表
尝试以下方法:
for k,v in mydict.items():
if(isinstance(v, np.ndarray)):
mydict[k] = v.tolist()
见this Repl.it。
请注意,您需要确保数组中的类型是可序列化的
【讨论】:
以上是关于将 numpy 数组列表转换为 json 以从烧瓶 api 返回的主要内容,如果未能解决你的问题,请参考以下文章