У меня есть следующие JSON данные:логика для разбора JSON данных провала попытки
[{"id":"1","name":"vm"},{"id":"2","name":"live"}]
Вот код, который я должен разобрать:
$.getJSON('<%= path to my method%>',function(data) {
console.log(data);
$.each(data, function(i, item) {
console.log(item[i].id);
console.log(item[i].name);
}); //end .each
});//end getJSON.
Вот результаты в консоли:
LOG: [{"id":"1","name":"vm"},{"id":"2","name":"live"}]
LOG: undefined
LOG: undefined
SCRIPT5007: Unable to get value of the property 'id': object is null or undefined
Я нашел этот пост: jquery loop on Json data using $.each
и поэтому я попытался изменить свой код, чтобы выглядеть следующим образом:
function(data) {
console.log(data);
$.each(data, function(i, item) {
console.log(data[i].id);
console.log(data[i].name);
}); //end .each
и это:
function(data) {
console.log(data);
$.each(data, function(i, item) {
console.log(item.id);
console.log(item.name);
}); //end .each
Но я продолжаю получать неопределенный для идентификаторов и имен.
Можете ли вы сказать мне, где я ошибаюсь, пожалуйста? Спасибо.
EDIT 1
function(data) {
$.parseJSON(data);
console.log(data);
$.each(data, function(i, item) {
console.log(item.id);
console.log(item.name);
}); //end .each
Ваш последний код работает для меня. – SLaks
Бьюсь об заклад, ваши 'данные' содержат строку, а не объект javascript. Возможно, используйте 'data = $ .parseJSON (data);' чтобы передать строку объекту перед вашим 'console.log'. – phpisuber01
phpisuber01, это, похоже, не имеет значения .... Пожалуйста, ознакомьтесь с Редактированием 1 в своем сообщении, чтобы узнать, что код loks нравится –