我需要动态创建一个充满猫和子猫的json对象。我的结构看起来像这样
var cats = {
tops: {
'top' : {
link : 'link',
subs : [
{
'sub' : {
link : 'a link'
}
}
]
}
}
};
现在我可以使用cats.tops[topVar] = { link : topLinkVar };
但是,我需要将subs
类别添加到top
类别。
我尝试了一些变体,例如cats.tops[topVar].subs.push( { subVar : { link : subLinkVar } } );
但这会产生一个未定义的错误。
诀窍是子类别必须是一个数组,因此每个顶级类别可以有许多子类别。我错过了什么?
答案 0 :(得分:0)
这就是为什么星期六的编码是个坏主意。我也是JSON的新手。
反正。
我收到未定义错误的原因是因为我的新顶级类别没有创建子数组。
创建新的顶级类别的正确语法如下所示:
cats.tops[topVar] = {link : topLinkVar, subs : [] };
现在
cats.tops[topVar].subs.push( { subVar : { link : subLinkVar } } );
将按预期工作