NodeJS:向JSON对象添加新的子节点

时间:2017-03-22 09:18:00

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

假设有customer个对象,我需要将新元素address添加到此json对象customer。我怎么能实现这个目标呢?

这两个都没有改变customer JSON对象

customer['address'] = addressObj 

customer.address = addressObj

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

谢谢, 那仁

2 个答案:

答案 0 :(得分:0)

也许你的addressObj没有正确形成。

这对我有用:

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

输出:

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

答案 1 :(得分:0)

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

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

你现在想要将Supergirl(新元素)添加到我认为的超人(旧元素)中。看看@ 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和其他模块混淆。)

如果这不是你在寻找我的道歉,那么我就不能正确理解这个问题。