【问题标题】:NodeJS: Adding new child nodes to JSON ObjectNodeJS:向 JSON 对象添加新的子节点
【发布时间】:2017-03-22 09:17:59
【问题描述】:

假设有customer 对象,我需要将新元素address 添加到这个json 对象customer。我怎样才能做到这一点?

这两个都不会改变 customer JSON 对象

customer['address'] = addressObj 

customer.address = addressObj

我不能使用push(),因为这不会在对象列表中添加新项目。

谢谢, 娜仁

【问题讨论】:

    标签: json node.js rest express swagger-node-express


    【解决方案1】:

    可能您的 addressObj 格式不正确。

    这对我有用:

    var customer = {"name": "Naren"};
    customer.address1 = "stackoverflow";
    customer.address2 = {"fulladdress":"stackoverflow"};
    JSON.stringify(customer)
    

    输出:

    "{"name":"Naren","address1":"stackoverflow","address2":{"fulladdress":"stackoverflow"}}"
    

    【讨论】:

      【解决方案2】:

      也许我不清楚你到底想做什么,但听起来好像你想要一个 JSON 并想要将它与另一个 JSON 合并,只创建一个 JSON 文件。

       let Json1 = {'Superman': 'Favorite' };
       let Json2 = {'Supergirl': 'Greatest'};
       let Json3 = {'IronFist': 'Top 10' };
      

      您现在想将 Supergirl(新元素)添加到我假设的 Superman(旧元素)中。看看这里@merge-json 一个简单的包,它做得很好。您将编码如下:

      use strict;
      var mergeJSON = require("merge-json");
      let Json1 = {'Superman': 'Favorite' };
      let Json2 = {'Supergirl': 'Greatest'};
      let Json3 = {'IronFist': 'Top 10' };
      let Json6 = mergeJSON(Json1,Json2);
      Json6=mergeJSON(Json6,Json3);
      

      你会得到如下结果:

      Json6 = {'Superman': 'Favorite', 'Supergirl': 'Greatest', 'IronFist': 'Top 10'}

      这就是我如何利用将 JSON 信息或文本信息组合成 JSON 文件的方式。您可以使用上面提到的模块变得更加复杂。 (只是不要将merge-json 与 json-merge 和其他模块混淆。)

      如果这不是你要找的我的道歉,那么我没有正确理解这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-27
        • 1970-01-01
        • 2019-01-30
        • 2019-01-28
        • 2019-11-01
        • 1970-01-01
        • 2013-09-23
        • 2017-02-10
        相关资源
        最近更新 更多