2010-08-28 57 views
0

我需要動態創建一個充滿貓和貓的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

這就是爲什麼在星期六編碼是個壞主意。另外,我對JSON頗爲陌生。

無論如何。

我得到未定義錯誤的原因是因爲我的新頂級類別沒有創建subs數組。

正確的語法來創建新的頂級類別如下:

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

現在

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

可以發揮預期的