Javascript 如何在使用node.js fs.appendFile追加JSON对象时添加逗号分隔符?

Javascript 如何在使用node.js fs.appendFile追加JSON对象时添加逗号分隔符?,javascript,node.js,json,append,Javascript,Node.js,Json,Append,我将遍历文件夹中包含的所有图像,对于每个图像,我需要将其路径、日期(null)和布尔值添加到JSON对象中 代码如下: files.forEach(file => { fs.appendFile( 'images.json', JSON.stringify({directory: `${sourcePathDesktopWin}/${folder}/${file}`, posted: false, date: null}, null, 2), (err) => {

我将遍历文件夹中包含的所有图像,对于每个图像,我需要将其路径、日期(null)和布尔值添加到JSON对象中

代码如下:

files.forEach(file => {
  fs.appendFile(
    'images.json', JSON.stringify({directory: `${sourcePathDesktopWin}/${folder}/${file}`, posted: false, date: null}, null, 2), (err) => {
      if (err) throw err;
      console.log(`The ${file} has been saved!`);
    }
  );
});
结果是:

{
  "directory": "D:/directory1/test1.jpg",
  "posted": false,
  "date": null
}{
  "directory": "D:/directory1/test2.jpg",
  "posted": false,
  "date": null
}
正如您所看到的,追加时并不是在每个JSON对象之间添加逗号分隔符。
如何添加它?

在您当前的示例中,简单地添加逗号将使其成为无效的JSON,正如前面所指出的那样。不过,若将其设置为数组,则结果将是有效的对象

最简单的方法是创建一个空数组,并将每个JSON对象推送到该数组中

images=[];
files.forEach(文件=>{
image.push({目录:`${sourcePathDesktopWin}/${folder}/${file}`,发布:false,日期:null})
});
然后可以将此数组写入文件。你的结果是:

[
{
“目录”:“D:/directory1/test1.jpg”,
“张贴”:错误,
“日期”:空
},
{
“目录”:“D:/directory1/test2.jpg”,
“张贴”:错误,
“日期”:空
}
]

在JSON对象之间添加逗号将使
images.JSON作为格式正确的文件无效。是否希望
images.json
成为格式正确的文件,并将
files.forEach
中的每个文件附加到
images.json
文件中的json对象?