【问题标题】:Edit json in js/node.js?在 js/node.js 中编辑 json?
【发布时间】:2015-08-12 08:17:50
【问题描述】:

我正在开发一个从 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)`

【问题讨论】:

  • 解析后的 JSON 对象就像任何其他 JS 对象一样。使用object dot notation 访问您想要的任何数据。
  • 添加:jsonObj.key=value,删除:删除jsonObj.key

标签: javascript json node.js


【解决方案1】:

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

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

如果文件存在,这将覆盖文件,这样你就可以编辑文件了。

【讨论】:

    【解决方案2】:

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

    var contents = require('/path/to/file.json');
    

    像普通对象一样迭代contents

    【讨论】:

      【解决方案3】:

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

      例如一个值:

      console.log(isonObi.something.value)
      

      例如数组中的一个值:

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

      来自eyp

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

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

      【讨论】:

        【解决方案4】:

        使用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';
        });
        

        【讨论】:

          猜你喜欢
          • 2021-06-09
          • 1970-01-01
          • 1970-01-01
          • 2021-10-21
          • 1970-01-01
          • 2020-01-04
          • 2021-10-09
          • 2020-05-19
          • 1970-01-01
          相关资源
          最近更新 更多