Javascript 如何在使用node.js fs.appendFile追加JSON对象时添加逗号分隔符?
我将遍历文件夹中包含的所有图像,对于每个图像,我需要将其路径、日期(null)和布尔值添加到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) => {
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对象?