*和次级分类结构

问题描述:

我需要动态创建一个充满猫和猫的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 } });但是这会产生一个未定义的错误。

诀窍是子类别需要是一个数组,因此每个*类别可以有许多子类别。我错过了什么?

这就是为什么在星期六编码是个坏主意。另外,我对JSON颇为陌生。

无论如何。

我得到未定义错误的原因是因为我的新*类别没有创建subs数组。

正确的语法来创建新的*类别如下:

cats.tops[topVar] = {link : topLinkVar, subs : [] };

现在

cats.tops[topVar].subs.push({ subVar : { link : subLinkVar } });

可以发挥预期的