2009-10-30 70 views
5

考慮下面的JSON對象數組:的Javascript JSON對象的多級陣列 - 如何訪問鍵值對在第二級別或更高級別

myList = [ 
    {title:"Parent1", 
     children:[{childname:"Child11"}, 
        {childname:"Child12"}], 
     cars:[{carname:"Car11"}, 
       {carname:"Car12"}] 
    }, 
    {title:"Parent2", 
     children:[{childname:"Child21"}, 
        {childname:"Child22"}], 
     cars:[{carname:"Car21"}, 
       {carname:"Car22"}] 
    } 
]; 

如何做一個訪問「Child21」在JavaScript?下列選項不工作:

var myString = myList[1].children[0].childname; //Does not work 
var myString = myList[1]["children"][0].childname; //Does not work 
+2

UGH ***代碼格式請! – Zoidberg 2009-10-30 14:26:00

+3

你的第一個例子'myList [1] .children [0] .childname' * does * work。 – 2009-10-30 14:26:37

+0

你的意思是carname ... right crecentfresh ... 把這個答案,我會投它 – Zoidberg 2009-10-30 14:27:39

回答

9

這工作確定爲我:

myList[1].children[0].childname 

這也是OK:

myList[1]["children"][0].childname; 

在全面,

<html> 
<body> 
<script> 
var myList = [ 
    {title:"Parent1", 
     children:[{childname:"Child11"}, 
        {childname:"Child12"}], 
     cars:[{carname:"Car11"}, 
       {carname:"Car12"}] 
    }, 
    {title:"Parent2", 
     children:[{childname:"Child21"}, 
        {childname:"Child22"}], 
     cars:[{carname:"Car21"}, 
       {carname:"Car22"}] 
    } 
]; 
alert (myList[1].children[0].childname); 
</script> 
</body> 
</html> 
+0

+1給你,而不是其他人,因爲HTML例子+5分鐘前答案! – Seb 2009-10-30 14:34:47

0

確實 work ...

alert(myList[1].children[0].childname); 
1

var myString = myList [1] .children [0] .childname;

在FireFox的Firebug的作品

+0

這是正確的... – Jonline 2014-05-14 22:31:40

0

你的第一選擇......

var myString = myList[1].children[0].childname; 

應該只是罰款。