J'ai une sortie JSON
comme celle-ci:
["City1","City2","City3"]
Je veux obtenir chacun des noms de ville, comment puis-je faire cela?
$.getJSON("url_with_json_here",function(json){
});
MODIFIER:
$.getJSON('url_here', function(data){
$.each(data, function (index, value) {
$('#results').append('<p>'+value+'</p>');
console.log(value);
});
});
Ce qui précède ne semble pas fonctionner, aucune valeur n'est sortie.
getJSON()
analysera également le code JSON pour vous après la récupération. Ainsi, vous utiliserez désormais un tableau Javascript simple ([]
marque un tableau en JSON) . La documentation contient également des exemples sur la manière de gérer les données extraites.
Vous pouvez obtenir toutes les valeurs dans un tableau en utilisant une boucle for
:
$.getJSON("url_with_json_here", function(data){
for (var i = 0, len = data.length; i < len; i++) {
console.log(data[i]);
}
});
Vérifiez votre console pour voir la sortie ( Chrome , Firefox/Firebug , C'EST-À-DIRE ).
jQuery fournit aussi $.each()
pour les itérations, vous pouvez donc aussi faire ceci:
$.getJSON("url_with_json_here", function(data){
$.each(data, function (index, value) {
console.log(value);
});
});
Utilisez la méthode parseJSON
:
var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);
Ensuite, vous avez un tableau avec les noms de ville.
var dataArray = [];
var obj = jQuery.parseJSON(yourInput);
$.each(obj, function (index, value) {
dataArray.Push([value["yourID"].toString(), value["yourValue"] ]);
});
cela m'aide beaucoup :-)
var dataArray = [];
var obj = jQuery.parseJSON(response);
for( key in obj )
dataArray.Push([key.toString(), obj [key]]);
};
avec parse.JSON
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );