将字典保存到json python中

时间:2017-09-16 10:49:15

标签: python json dictionary

我是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可序列化的

3 个答案:

答案 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序列化问题的原因。