簡體   English   中英

將帶有NodeJS循環的JSON對象復制到JSON文件中

[英]Copy json object with NodeJS loop into JSON file

美好的一天,

有沒有一種方法可以在NodeJS中進行for循環,並將相同的json對象但具有不同的“ id”復制到JSON文件中。

可以說我想以這種格式添加100個對象:

[ { "id": 1, "Firstname": "Sven","Secondname": "Petersen","Age": "18" }]

服務器啟動時。

最好的方法是什么? 我應該使用哪些模塊?

我以為我可以做這樣的事情:

for (var i = 0; i < 500; i++) {
    fs.readFile("JSON/DB.json", "utf8", function () {
        var data = '[{ "id": 1, "Firstname": "Sven", "Secondname": "Petersen", "Age": "18", }]'
        var Data = JSON.parse(data);
        var id = i;
        for (var i = 0; i < Data; i++) {

        };

        var newData = JSON.stringify(Data);
        fs.writeFile("JSON/DB.json", newData, "utf8");
    })
};

PS我是新手

編輯:將id轉換為字符串。

嘗試這個

var fs = require('fs');

var jsonObj = '{ "id":"1","firstname": "Sven","secondname": "Petersen","age":"18" }'

var data = JSON.parse(jsonObj)
var newDataArray = []

function ObjectCreate (id, firstname, secondname, age) {
  this.id = id.toString();
  this.firstname = firstname;
  this.secondname = secondname;
  this.age = age;
}

for (var i = 1; i < 100; i++) {
  var obj = new ObjectCreate (i, data.firstname, data.secondname, data.age);
  newDataArray.push(obj);
}

var writeObject = JSON.stringify(newDataArray)

fs.writeFile('data.json', writeObject, function(err) {
  if(err) throw err;
  console.log('done');
});

取決於您的需求。 使用作為眾多解決方案之一:

const fs = require('fs');

const PATH_TO_FILE = 'path/to/file';

let data = {
  id: null,
  value: 'some value'
};

let stream = fs.createWriteStream(PATH_TO_FILE);

//error handler
stream.on('error', function (error) {

});

for(let i = 1; i < 501; i++) {
  data.id = i;
  stream.write(JSON.stringify(data));
}

stream.end();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM