var jsonfile = require('jsonfile');
var data = require('./data.json');
var items = data.items;
data.items[items.length] = {
  msg: "A new message"
};



jsonfile.writeFile('./data.json', data, {
  spaces: 2
}, function(err) {
  console.error(err);
});

{
  "items": [ {
    "name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message1"
  }
  ,
  {
    "name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message2"
  }
  ,
  {
    "name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message3"
  }
  ]
}





我需要维护一个json文件,其数据样式类似于上面使用node.js的代码。而且我应该不断地将对象添加到“项目”数组中。但是,如果我采用上面的代码中的方法,则每次我想添加新项目时都必须加载并保存全部数据。所以我的问题是:是否有一种方法可以直接操作json文件?加载和保存整个数据没有麻烦(就像处理数据库系统一样)?

最佳答案

如果您发现自己正在加载和保存“一堆数据”,并且正在寻找附加json的方式,则表明您需要数据库。

有典型的mongodb等服务器。但是,如果您的需求很简单,那么您还可以查看诸如NEDB之类的简单嵌入式DB。这个(和其他嵌入式数据库)是基于文件的数据库,它们已经为您解决了这个问题。没有理由像数据库系统一样。只需使用一个:)

如果您必须使用文件方法,则另一种可能性是写入单个文件,或者如果文件太多,则可以写入项目的“页面”。但是可行性取决于您的读取模式。

但是再一次,如果您处于这种状态,请问数据库可能更合适。

关于json - 如何将json数据附加到文件中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38799459/

10-10 00:09
查看更多