我的Python脚本的输出为JSon格式,我想将JSon写入文件中。

我用

df_json.to_json(orient='records')

with open('JSONData.json', 'w') as f:
     json.dump(df_json, f)


我有以下错误:

raise TypeError(repr(o) + " is not JSON serializable")

[1746 rows x 2 columns] is not JSON serializable


我不知道我在做什么错。

我的JSon输出如下:

[
  {
    "id": 1,
    "results": [
      1,
      2,
      3

    ]
  },
  {
    "id": 558599,
    "results": [
      4,
      5,
      6
    ]
  }
]


先感谢您。

最佳答案

您正在呼叫df_json.to_json(orient='records'),但不使用结果。对象不会将自身变异为jsonisable对象。

序列化原始对象显然是行不通的(或者上面没有to_json方法)

由于字符串已经是json,所以您甚至不需要json模块(或者json会尝试再次序列化字符串,这不是您想要的):只需执行以下操作:

f.write(df_json.to_json(orient='records'))

10-05 21:09