我正在使用ajax从PHP脚本中获取字符串。该字符串采用由多个对象组成的JSON数组格式。
我可以成功访问对象,但是在使用循环时我没有运气。我需要以相反的顺序访问对象。
AJAX STRING RESPONSE:
{
"messages": [{
"username": "John",
"message": "Hello!",
"age": 32,
},
{
"username": "Bob",
"message": "Awesome day",
"age": 26,
},
{
"username": "Sarah",
"message": "How are you?",
"age": 19,
}
]
}
JAVASCRIPT:
var messageList = JSON.parse(ajax.responseText);
var message_count = messageList.messages.length;
while (message_count >= 0) {
alert(messageList.messages[message_count].username);
message_count -= 1;
}
我基本上需要提醒按顺序:Sarah Bob John 我做类似的事情时可以访问数组: 警报(messageList.messages [0] .username);
当我使用message_count变量时,似乎只会失败。我已经搜索了几个小时的类似问题,但没有成功。 提前谢谢!
答案 0 :(得分:4)
您的数组的长度为3,但数组的索引编号为零,因此您需要从总长度中减去1以使循环起作用(messages[3]
不存在)。
var message_count = messageList.messages.length - 1;
循环将从2变为0并为您提供正确的输出。
答案 1 :(得分:0)
试试这个:
$.getJSON( url, function( data ) {
var messages = data.messages || {};
$.each(messages,function(key,info){
console.log(info.username);
console.log(info.message);
console.log(info.age);
});
});