Как перебрать данные JSON в JQuery - PullRequest
19 голосов
/ 20 ноября 2010

Как перебрать данные json в jquery.

[{"id":"856","name":"India"},
 {"id":"1035","name":"Chennai"},
 {"id":"1048","name":"Delhi"},
 {"id":"1113","name":"Lucknow"},
 {"id":"1114","name":"Bangalore"},
 {"id":"1115","name":"Ahmedabad"},
 {"id":"1116","name":"Cochin"},
 {"id":"1117","name":"London"},
 {"id":"1118","name":"New York"},
 {"id":"1119","name":"California"}
]

Ответы [ 4 ]

47 голосов
/ 20 ноября 2010

Вы можете использовать $.each() так:

$.each(data, function(i, obj) {
  //use obj.id and obj.name here, for example:
  alert(obj.name);
});
6 голосов
/ 20 ноября 2010

Вы также можете просто использовать обычный javascript, который, я думаю, будет немного быстрее (хотя я не совсем уверен, как jQuery оптимизирует each):

var data = [{"id":"856","name":"India"},
 {"id":"1035","name":"Chennai"},
 {"id":"1048","name":"Delhi"},
 {"id":"1113","name":"Lucknow"},
 {"id":"1114","name":"Bangalore"},
 {"id":"1115","name":"Ahmedabad"},
 {"id":"1116","name":"Cochin"},
 {"id":"1117","name":"London"},
 {"id":"1118","name":"New York"},
 {"id":"1119","name":"California"}
];

var data_length = data.length;
for (var i = 0; i < data_length; i++) {
  alert(data[i]["id"] + " " + data[i]["name"]);
}

отредактировано чтобы отразить предложение Ника о производительности

2 голосов
/ 25 октября 2017

переберите все свойства объекта с помощью функции $ .each.в каждой итерации вы получите имя / ключ и значение свойства:

$.each(data, function(key, val) {
  alert(key+ " *** " + val);
});
2 голосов
/ 20 ноября 2010

Вы можете использовать функцию .each():

$(yourjsondata).each(function(index, element) {
    alert('id: ' + element.id + ', name: ' + element.name);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...