Здравствуйте!
Мне нужно составить ul-список, взяв несколько полей из каждого файла JSON. Получить нужные данные удалось, но после этого столкнулся с другой проблемой.
Безымянный.jpg
Как показывает консоль, объект не пустой. Консоль также отображает индексы. Но запрос свойства по индексу возвращает undefined.
Вот код:
function search_in_JSON(desired_field, link) {
let result = {};
if (desired_field) {
$.getJSON(link, function (data) {
$.each(data, function (key, datum) {
$.each(datum, function (key_of_datum, value) {
if (key_of_datum === desired_field)
result[String(key)] = value;
});
});
});
return result;
}
else {
$.getJSON(link, function (data) { result = data });
return result;
}
}
$(document).ready(function() {
let items = [];
let users_names = search_in_JSON('name', 'ссылочка1');
console.log(users_names);
console.log(users_names[0]);
console.log(users_names[1]);
$.each(users_names, function (key_of_name, user_name) {
console.log(key_of_name + ' and ' + user_name);
let albums = search_in_JSON('', 'ссылочка2' + (key_of_name+1));
items.push('<ul class="user">');
$.each(albums, function (key_of_album, album) {
items.push('<li><ul class="album">');
let photos = search_in_JSON('', 'ссылочка3' + album.id);
$.each(photos, function (key_of_photo, photo) {
items.push('<li><img src="' + photo.url + '" alt="' + photo.title + '"/></li>');
});
items.push('</ul></li>');
});
items.push('</ul>');
});
items = items.join('');
$('.albums').html(items);
});