简体   繁体   English

Javascript JSON对象的多级数组 - 如何在第二级或更高级别访问键值对

[英]Javascript Multi-level array of JSON objects - how to access key-value pair in second level or higher

Consider the following array of JSON objects: 考虑以下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"}]
    }
];

How does one access the "Child21" in javascript? 如何在javascript中访问“Child21”? The following options didn't work: 以下选项不起作用:

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

This worked OK for me: 这对我有用:

myList[1].children[0].childname

This is also OK: 这也没问题:

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

In full, 在全,

<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>

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

In FireFox's Firebug works 在FireFox的Firebug工作中

确实有效......

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

Your first option... 你的第一个选择......

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

should work just fine. 应该工作得很好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM