有没有办法指定Node.js模块 FS 写入数据的位置(在另一个文件中)



我有一个问题,当我使用 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 进行计算。

最新更新