使用nodejs在json文件中附加对象表

时间:2018-06-12 13:47:33

标签: json node.js

我想将一个对象追加到带有nodeJS的JSON文件中的对象数组

我的JSON文件

{
  "entreprise": "kem",
  "pesee": [
    {
      "nom": "aaa",
      "prenom": "bbb"
    },
    {
      "nom": "ccc",
      "prenom": "ddd"
    },
    {
      "nom": "eee",
      "prenom": "fff"
    }
  ]
}

我想添加到pesee这个对象

{
      "nom": "ccc",
      "prenom": "ddd"
    },

4 个答案:

答案 0 :(得分:0)

您可以使用node.js的fs文件系统库从系统获取文件,读取并修改它。因为,文件将作为文本读取,您需要解析JSON并添加对象,然后将其保存回文件。

var fs = require('fs');
var newObj = {
      "nom": "ccc",
      "prenom": "ddd"
    };
fs.readFile('jsonFile.json', function (err, data) {
    var jsonData = JSON.parse(data);
    jsonData.pesee.push(newObj);

    fs.writeFile("jsonFile.json", JSON.stringify(jsonData));
});

答案 1 :(得分:0)

你可以做多件事:

<强> 1

const myJSON = {
 "entreprise": "kem",
  "pesee": [
    {
      "nom": "aaa",
      "prenom": "bbb"
    },
    {
      "nom": "ccc",
      "prenom": "ddd"
    },
    {
      "nom": "eee",
      "prenom": "fff"
    }
  ]
}

myJSON.pesee.push({
  "nom": "ccc",
  "prenom": "ddd"
})

console.log(myJSON)

<强> 2 如果您在文件中包含JSON,则可以使用this读取它,结果可以是:

fs.readJson('./myJSON')
  .then(data => {
    data.pesee.push({
      "nom": "ccc",
      "prenom": "ddd"
    })

    console.log(data)
  })
  .catch(err => console.log(err))

答案 2 :(得分:0)

试试这个。读入数据后,将新元素推入阵列。请注意,此示例不检查重复项,并且您提供的示例已存在于数组中。在此之后,将会有两组nom:ccc,prenom:ddd。这是一个保持简单的同步示例。

let fs = require('fs');
let json = JSON.parse(fs.readFileSync('data.json'));
json["pesee"].push({"nom":"ccc", "prenom":"ddd"});
fs.writeFileSync('data.json', JSON.stringify(json));

答案 3 :(得分:-1)

您可以从内存中的json文件加载对象,然后可以根据需要使用它来回写。希望它能帮到你。

var fs = require('fs');
var jsonDataObj = JSON.parse(fs.readFileSync( $filePath, 'utf8'));
var newObj = {
               "nom": "ccc",
               "prenom": "ddd"
              };
jsonDataObj.pesee.push(newObj);