Разбор объектов внутри объектов в JSON с использованием JSON.parse

0

Я пытаюсь получить данные из источника в JSON. Я могу получить некоторые данные, такие как "episode_name" и "обзор", однако у меня возникают проблемы с некоторыми данными, такими как "писатели" и "directer".

Это код, который я использую вместе с моим примером

   var jsontext = '{"first_aired":"2004-06-06","episode_name":"Let Em Eat Cake","overview":"Blahh Blahh","writers":[{"name":"Jim Vallely"},{"name":"Mitchell Hurwitz"}],"directors":[{"name":"Paul Feig"}],"guest_stars":[{"name":"Ian Roberts"},{"name":"Judy Greer"},{"name":"Stacey Grenrock-Woods"},{"name":"Matt Walsh"},{"name":"Alessandra Toreson"}]}';
    var titles = JSON.parse(jsontext);
    document.write(titles.episode_name);

В основном проблема сводится к тому, что невозможно получить данные на многоуровневой основе. Я не уверен, как это сделать.

Вот мой пример в JS Fiddle для его редактирования, чтобы показать мне. http://jsfiddle.net/k3V9p/1/

Спасибо

Теги:
parsing

2 ответа

1

Субобъект writers представляет собой массив, поэтому вы можете получить доступ к его элементам и подобъектам следующим образом:

titles.writers[0].name
  • 0
    И если списки на самом деле являются просто массивами имен, вам даже не нужно делать их массивами объектов. Просто сделайте их массивами строк.
0

Вы можете собирать имена авторов с помощью цикла

    var jsontext = '{"first_aired":"2004-06-06","episode_name":"Let Em Eat Cake","overview":"Blahh Blahh","writers":[{"name":"Jim Vallely"},{"name":"Mitchell Hurwitz"}],"directors":[{"name":"Paul Feig"}],"guest_stars":[{"name":"Ian Roberts"},{"name":"Judy Greer"},{"name":"Stacey Grenrock-Woods"},{"name":"Matt Walsh"},{"name":"Alessandra Toreson"}]}';
    var titles = JSON.parse(jsontext);
    var names = [];
    $.each(titles.writers, function(i,it){
      names.push(it.name);
    })
    alert(names);

http://jsfiddle.net/k3V9p/2/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню