在js / node.js中编辑json?

时间:2015-08-12 08:17:50

标签: javascript json node.js

我正在开发一个从json文件中读取数据的nodejs应用程序。现在我想在js中编辑这个json文件(写入它)。我该怎么做呢 ?

这是我的js代码:`

var fs = require("fs")

//function for file input
function getFile(filename) {
  var data = fs.readFileSync(filename,"ascii")
  return data }

//parsing json
var jsonString = [getFile("File.json")]
var jsonObj = JSON.parse(jsonString)`

4 个答案:

答案 0 :(得分:2)

您可以通过要求加载json文件。

function getDocCat(catId){     
    var currentValue = catId.value;

      $.ajax({
            type: "POST",
            url: "<?php echo site_url('home/get_com_by_cat') ?>",
            data: { data: currentValue },
            dataType:'json',             
            success: function(result){
            $("load_company_name").html(result);
            },
            error: function() {
                alert('Not OKay');
            }

        });
    }

像常规对象一样迭代var contents = require('/path/to/file.json');

答案 1 :(得分:2)

根据需要修改jsonObj,创建新对象或其他任何内容,然后编写文件:

fs.writeFileSync("File.json", jsonData);

这将覆盖文件(如果存在),以便您编辑文件。

答案 2 :(得分:1)

解析时的JSON对象与任何其他JS对象一样。使用object dot notation访问您想要的任何数据。

例如值:

console.log(isonObi.something.value)

例如数组中的值:

console.log(isonObi.something[0].value)
  

来自eyp

     

根据需要修改jsonObj,创建新对象或其他任何内容,然后编写文件:

     

fs.writeFileSync("File.json", jsonData);   这将覆盖文件(如果存在),以便您编辑文件。

答案 3 :(得分:1)

使用nodeJS,您可以require JSON 文件。

假设您收到此JSON文件:

//test.json

[
  {
    "name": "toto",
    "code": "4"
  },
  {
    "name": "test",
    "code": "5"
  }
];

然后,您可以要求此文件并执行一些修改:

var json = require('./test.json');

json.forEach(function(elm){
    elm.name = 'test';
});