Я пытаюсь получить JSON и получить доступ к его объектам для извлечения данных, все мои пути, кажется, работают хорошо, но один специально не работает. Я только что проверил, и путь тот же, что и другие объекты, к которым я пытаюсь получить доступ, в консоли я все время становлюсь неопределенным. я буду признателен, если вы, ребята, можете сказать мне, что не так с кодом, я оставлю вас структурой JSON, а также java Scripti надеюсь, что вы, ребята, можете помочь мне разобраться, а также было бы хорошо, если бы вы могли дать мне несколько советов по моей кодировке потому что я учусь.Получение undefined при попытке получить член JSON
Java Script: Эта функция вызывается, когда вы нажимаете на какой-либо элемент в списке.
function checkUser(){
console.log("clicked");
var user = $(this).html();
$.getJSON("js/options.json", function(json){
var itemsLength = json.chat.OnlineContacts.length;
for (var i = 0; i < itemsLength; i++) {
var jsonUserName = json.chat.OnlineContacts[i].name;
var jsonUserStatus = json.chat.OnlineContacts[i].status;
var jsonUserAvatar = json.chat.OnlineContacts[i].avatar;
if(user == jsonUserName){
/*displayChatWindow(jsonUserName, jsonUserStatus, jsonUserAvatar);*/
console.log(jsonUserAvatar);
}
};
});
}
function displayChatWindow(user, status, avatar){
/*var template = _.template($("#windowTemplate").html(), {userName: user, userStatus: status, userAvatar: avatar});
$("body").prepend(template);*/
$(".messages-container").slimScroll({
height: '200',
size: '10px',
position: 'right',
color: '#535a61',
alwaysVisible: false,
distance: '0',
railVisible: true,
railColor: '#222',
railOpacity: 0.3,
wheelStep: 10,
disableFadeOut: false,
start: "bottom"
});
}
И это JSON:
{
"chat": {
"NumberOfOnlineContacts": "7",
"NumberOfOfflineContacts": "800",
"OnlineContacts": [
{
"name": "Nandy Torres",
"status": "online",
"avatar": "img/profile-picture2.jpg"
},
{
"name": "Catherine Varela",
"status": "Busy",
"avatar": "img/profile-picture3.jpg"
},
{
"name": "Jhonnatan Gonzalez",
"status": "online",
"avatar": "img/profile-picture4.jpg"
},
{
"name": "Juan Prieto",
"status": "away",
"avatar": "img/profile-picture5.jpg"
},
{
"name": "Alexander Barranco",
"status": "Busy",
"avatar": "img/profile-picture6.jpg"
}
],
"OfflineContacts": [
{
"name": "Nandy Torres"
},
{
"name": "Catherine Varela"
},
{
"name": "Jhonnatan Gonzalez"
},
{
"name": "Juan Prieto"
},
{
"name": "Jhonathan Sanchez"
}
]
}
}
Когда я пытаюсь сделать журнал консоли на аватаре, как в примере, я просто получить неопределен, но если я делать console.log имени или status y просто получите правильные значения.
* Какой * путь не работает? Пожалуйста, будьте конкретны в своих вопросах. –
@ExplosionPills Я считаю 'json.chat.OnlineContacts [i].аватар' - это путь, который не работает, судя по инструкции 'console.log()'. –
Да, я прав, я просто уточнил в конце вопроса «Когда я пытаюсь сделать запись в консоли, как в примере, я просто получаю undefined, но если я делаю console.log имени или статуса, то просто получаю правильный значения." если я изменю имя в JSON на изображение, а также путь к картинке, я получу console.log, но если я не буду комментировать строки, которые я прокомментировал, то получаю сообщение об ошибке: ReferenceError: jsonUserAvatar не определен. –