有没有什么便捷的操作使nodejs向已经存在的json文件中的数组内部追加新的数组?

是这样的,现在有一个json文件,里面是一个数组,存放着数据,比如:
users.json:

[
    {name: aa,age: 1}
    {name: bb,age: 2}
    {name: cc,age: 3}
    ...
]

现在我想要往这个json文件中的数组内部插入几条数据,注意不是往json里面追加,而是往json里的数组内追加,有没有什么简单的方法实现呢?还是说必须先将这个数组读出来追加完再重新写进去?

阅读 4.7k
3 个回答

不是必须,但确实比较方便。
当然你也可以以append的模式打开,从倒数1位开始写,然后写的时候自己把原来的[{},{}]替换成{},{}]

fs.open(path, flags[, mode], callback)
fs.writeSync(fd, string[, position[, encoding]])

fs

let fs = require('fs');
 

fs.readFile('test.json','utf8',function (err, data) {
        if(err) console.log(err);
        var test1=JSON.parse(data);
        test1.data.push({"user":"li"})
        var t = JSON.stringify(test1);
        fs.writeFileSync('test.json',t)
});

// 简单小例子 之前无聊弄的做用户信息的 添加用fs对象的读写 然后数组push就好了

你所谓的便捷是指什么?
如果要安全,则是读取出来再重新写入最好。
因为数组内原始是有顺序的,而最后一个元素后面在文件中又没有逗号。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏