尝试使用fs和express写入外部json文件

7cwmlq89  于 2023-05-02  发布在  其他
关注(0)|答案(1)|浏览(117)

我试图将一个对象写入JSON,当将数据传递到服务器时,我一直收到这个错误,我似乎找不到解决方案来修复它。..
这是我的代码

APP.post('/api', (req, res) => {
    
    const data = req.body;
    console.log(data);

    try {
        fs.writeFileSync(PATH, data);
    } catch(err) {
        console.log(err)
    }

    res.send("Updated");
});

对象看起来像下面的i。即req.body

{
  name: '',
  currentStats: {
    stat: 0,

  },
  trackStats: { history: 0 }
}

所讨论的错误
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Object

pepwfjgg

pepwfjgg1#

writeFileSync以二进制格式写入数据,它需要一个缓冲区或字符串作为第二个参数。因此,您需要使用JSON将JavaScript对象转换为JSON字符串。stringify()
fs.writeFileSync(PATH,JSON.String(data);

相关问题