我是python的新手,我试图制作两个数组或矩阵,将它们注册到字典中,保存到json文件中。这是我的代码
import numpy as np
import json
array_1 = np.array([[1,2,3],[4,6,7]])
array_2 = np.array([[4,0],[9,8]])
json_data = {
'array_1': array_1,
'array_2': array_2,
}
import json
with open('json_data.json', 'wb') as fp:
json.dumps(json_data, fp)
但是我收到以下错误:
'ndarray'类型的对象不是JSON可序列化的
答案 0 :(得分:5)
首先将它转换为python列表,如下所示:
json_data = {
'array_1': array_1.tolist(),
'array_2': array_2.tolist()
}
然后尝试将其转储为json:
import json
with open('json_data.json', 'w') as fp:
json.dump(json_data, fp)
答案 1 :(得分:1)
最好和最简单的方法是:
import json
with open("file.json", "wb") as f:
f.write(json.dumps(dict).encode("utf-8"))
答案 2 :(得分:0)
首先更正您的数据。 正确的数据: json_data = { 'array_1':array_1, 'array_2':array_2 }
该行的末尾有一个额外的','(array_2)。这就是您遇到JSON序列化问题的原因。