Перебор вложенных объектов внутри массива

#javascript #arrays #json

#javascript #массивы #json

Вопрос:

У меня есть следующий JS для перебора данных JSON, но когда я получаю undefined, потому information что это объект внутри массива, и я не уверен, как исправить мой код.

А также как бы я обернул вывод в отдельные разделы?

JS

 $.getJSON('js/test.json', function(data) {
  var importantInfo="<ul>";
  for (var i in data.hotelListing) {
    importantInfo ="<li>"   data.hotelListing[i].information.leaving   "</li>"   "<li>"   data.hotelListing[i].information.departureAirport   "</li>";
  }
  importantInfo ="</ul>";
  $(importantInfo).appendTo("#hotelInfo");
});
  

JSON

 { "hotelListing" : [ 
  { "country" : "Austria",
    "information" : [ 
     { "airline" : "Thomson Airways",
       "leaving" : "21 Feb 2015 14:30"
     } ],
    "price" : "£499"
  },
  { "country" : "Austria",
    "information" : [ 
     { "airline" : "Thomson Airways",
       "leaving" : "21 Feb 2015 14:30"
     } ],
    "price" : "£549"
  }
] }
  

Комментарии:

1. information похоже, это массив, так что попробуйте information[0].leaving и т. Д.

2. ах, вот так просто! 🙂

3. @thg435 Это ответ

4. Как я могу разделить выходные данные на отдельные ul, а не на 1 список?

5. @DanMitchell: переместите код ul генерации внутрь цикла.