且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

NumPy 数组不是 JSON 可序列化的

更新时间:2022-11-22 20:45:44

我经常jsonify" np.arrays.首先尝试在数组上使用.tolist()"方法,如下所示:

I regularly "jsonify" np.arrays. Try using the ".tolist()" method on the arrays first, like this:

import numpy as np
import codecs, json 

a = np.arange(10).reshape(2,5) # a 2 by 5 array
b = a.tolist() # nested lists with same data, indices
file_path = "/path.json" ## your path variable
json.dump(b, codecs.open(file_path, 'w', encoding='utf-8'), separators=(',', ':'), sort_keys=True, indent=4) ### this saves the array in .json format

为了unjsonify"数组使用:

In order to "unjsonify" the array use:

obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()
b_new = json.loads(obj_text)
a_new = np.array(b_new)