【问题标题】: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 和其他模块混淆。)
如果这不是你要找的我的道歉,那么我没有正确理解这个问题。