Javascript Многоуровневый массив объектов JSON - как получить доступ к паре ключ-значение на втором уровне или выше - PullRequest
5 голосов
/ 30 октября 2009

Рассмотрим следующий массив объектов 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

Ответы [ 4 ]

9 голосов
/ 30 октября 2009

Для меня это работало нормально:

myList[1].children[0].childname

Это тоже нормально:

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>
1 голос
/ 30 октября 2009

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

В FireFox работает Firebug

0 голосов
/ 30 октября 2009

Ваш первый вариант ...

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

должно работать просто отлично.

0 голосов
/ 30 октября 2009

Это делает работу ...

alert(myList[1].children[0].childname);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...