【发布时间】:2014-12-26 02:27:34
【问题描述】:
创建 NumPy 数组并将其保存为 Django 上下文变量后,我在加载网页时收到以下错误:
array([ 0, 239, 479, 717, 952, 1192, 1432, 1667], dtype=int64) is not JSON serializable
这是什么意思?
【问题讨论】:
-
这意味着某处,某事试图使用
json模块转储一个numpy 数组。但是numpy.ndarray不是json知道如何处理的类型。您要么需要编写自己的序列化程序,要么(更简单地)将list(your_array)传递给正在编写 json 的任何内容。 -
注意
list(your_array)并不总是有效,因为它返回 numpy 整数,而不是本机整数。请改用your_array.to_list()。 -
关于@ashishsingal 评论的注释,应该是your_array.tolist(),而不是to_list()。