使用Node Js fs添加到预先存在的JSON文件时遇到问题

xfb7svmp  于 2023-07-01  发布在  其他
关注(0)|答案(1)|浏览(100)

我正在创建一个系统,将“违规”记录在JSON文件中以供进一步使用。但是,每当我使用fs.writeFile执行som操作时,它只会删除整个文件并覆盖它。我试图让它添加到已经存储的JSON文件。
下面是我的代码:

const saveData = (infraction) =>{

  fs.readFile('infractions.json', function getData(err, data) {
    var json = JSON.parse(data)

    console.log(json)
})


  const completed = (error) = {
   if(error){
     console.error(error)
     return;
   }
  }
 

 
   const jsonData = JSON.stringify(infraction, null, 2)
  

   setTimeout(function(){
fs.writeFile('infractions.json', jsonData,function(completed){
    if(error){
      console.error(error)
      return;
    }
   })
}, 2000);
   


 }

下面是我定义Infraction并调用上面的函数的地方:

const infraction = {
    user: target.id,
    reason: reason,
    punishment: punishment
  }

saveData(infraction);

我尝试使用fs.readFile和JSON.parse,但是我无法获得可访问的变量输出。它只是一直错误为未定义。

var json = JSON.parse(data)

    console.log(json)
})
hmae6n7t

hmae6n7t1#

您应该使用fs.appendFile而不是fs.writeFile

相关问题