2015-02-09 76 views
0

我正尝试在javascript中创建json,并试图以root身份挂载节点,但设法将它们放在另一个连接到根节点的节点上。这里是我的代码:无法将json节点挂载到根

var responseData = []; 
responseData.push({"groups": groups}); 

,并得到这样的层次结构:

enter image description here

我想有“群体”节点直接连接到根数组对象,而不是在另一个封装“0”节点。请注意,我需要在代码中执行此操作,而不是手动生成字符串。

+0

你用什么库来获取树(或者这只是你的调试器的输出?) – 2015-02-09 17:57:40

+0

的代码是纯JS。对于树显示:http://www.jsoneditoronline.org/ – Alex 2015-02-09 20:26:32

+0

这只是[JSON编辑器在线](http://www.jsoneditoronline.org)显示其中包含对象的数组的方式。实际JSON中的期望结果是具有[[“groups”:yourGroups}](第一个元素设置为对象的数组)或[[groups]:yourGroups]'(具有属性“组“)。 JSON不支持后者,仅供参考。 – 2015-02-09 21:22:48

回答

0

数组是索引数据结构。如果将一个对象推到一个空数组上,那么你的对象将位于该数组的索引0处。

但是,数组只是对象。如果你真的想向它添加一个实例变量,那么你可以将你的组数据分配给你的数组中的一个新属性。

例如

var responseData = []; 
responseData.groups = groups; 
+0

我已经试过了,它似乎没有工作。像'responseData.testing =“AAAAA”;'没有效果,我没有看到任何地方的'测试'。 @AlfredoDelgado – Alex 2015-02-09 20:24:36

+0

你想要一个对象,而不是一个数组。 'var responseData = {};'注意花括号,而不是方括号。 – 2015-02-09 20:26:31

+0

如果您需要更多帮助,请创建一个不适用于您的代码示例:http://jsbin.com/?html,js,output – 2015-02-10 19:52:17