[如何在Node Js中写入文件时将对象推入数组中?我目前有以下工作代码
fs.appendFile("sample.json", JSON.stringify(data, undefined, 2) + ",");
其中数据是对象,例如
{
name:'abc',
age: 22,
city: 'LA'
}
附加时,结果如下
{
name:'abc',
age: 22,
city: 'LA'
},
{
name:'def',
age: 25,
city: 'MI'
},
我在这里看到2个问题。1.末尾的逗号2.无法形成数组并将对象推入其中]
任何线索都将不胜感激
追加会将您的数据追加到文件中,此处的数据被视为字符串,所有追加等于将字符串压缩为另一个字符串。
相反,这里需要首先读取文件并将其转换为数据结构,在本示例中,它可以是对象数组,并将该数据结构转换为字符串并将其写入文件。
要写入文件
fs.writeFileSync('sample.json', JSON.stringify([data], null, 2));
sample.json
[
{
"name": "abc",
"age": 22,
"city": "LA"
}
]
从文件读取
const fileData = JSON.parse(fs.readFileSync('sample.json'))
fileData.push(newData)
将附加到前一个文件的新数据写入文件中
fs.writeFileSync('sample.json', JSON.stringify(fileData, null, 2));
sample.json
[
{
"name": "abc",
"age": 22,
"city": "LA"
},
{
"name": "abc",
"age": 22,
"city": "LA"
}
]