无法使用节点在 .json 文件中追加数据

Failed to append data in .json file using node

我想将对象格式数组的数据附加到现有的 .json 文件,所以我已经为它编写了代码,但是在 Whosebug 上,我注意到很多开发人员建议在附加到现有 json 文件首先读取文件,然后将新数据推送到现有的 json 文件。所以我按照这个并根据这个进行了更改但出现错误:

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received undefined

在节点中编写的代码

 newdata=[
  {
    UserId: '11',
    UserName: 'harry',
   
  },
  {
    UserId: 12,
    UserName: 'David',
  }
];

     fs.readFile('results.json', function (err, data) {
    if(data === '') {
        json = JSON.parse(newdata);
        json.push(newdata);
    }
    fs.writeFile("results.json", JSON.stringify(json));
  })

此错误是因为您以错误的方式使用了 .writeFile

尝试这样的事情:

fs.writeFile('results.json', JSON.stringify(newData), function(err) {
    if (err) throw err; 
});

简短说明:

报错信息中的ERR_INVALID_CALLBACK是上面例子中最后一个参数告知的函数缺失

fs.writeFile(<file>, <content>, <callback>)