Comment itérer des données JSON dans jQuery

Comment itérer les données JSON dans 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"} ] 

Vous pouvez utiliser $.each() comme ceci:

 $.each(data, function(i, obj) { //use obj.id and obj.name here, for example: alert(obj.name); }); 

Vous pouvez aussi utiliser du javascript classique, ce qui serait un peu plus rapide (bien que je ne sois pas vraiment sûr de comment jQuery optimise 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"]); } 

édité pour refléter la suggestion de Nick concernant les performances

Vous pouvez utiliser la fonction .each() :

 $(yourjsondata).each(function(index, element) { alert('id: ' + element.id + ', name: ' + element.name); }); 

itérer sur toutes les propriétés de l’object avec la fonction $ .each. à chaque itération, vous obtiendrez le nom / clé et la valeur de la propriété:

 $.each(data, function(key, val) { alert(key+ " *** " + val); });