我有一个问题,当我使用 fs 方法时fs.appendFileSync(example.json, jsonString, {'flags': 'a+'});
它会将数据写入 JSON 文件......但不在数组中,我需要数据在...当我运行代码时,JSON 文件内容将如下所示{people:[ {where I want the data to go} ] }{data is written here}
我不知道如何指定我需要将数据放在数组中......我还有数组中有多个对象的问题......他们需要有逗号,我怎么也这样做?
不能通过追加文件来修改文件的内容。您必须将所有数据读入对象,对其进行修改,然后覆盖内容。有关总体思路,请参阅此处。
const fs = require('fs');
const data = require('./file.json') // node will parse json automatically
data.people.push({}) // the new data you want in the array
fs.writeFileSync('file.json', JSON.stringify(data))
方法 -1 在某个变量中读取该文件。 然后将您的数据添加到该变量中,即 JSON。 然后重写文件。
方法 - 2 使用 fs.write 提供需要添加数据的位置。
fs.writeSync(fd, string, position)
位置将是固定的,并根据您的 JSON 进行计算。