web-dev-qa-db-fra.com

JQuery analysant le tableau JSON

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.

26
David Cahill

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);
    });
});
50
kapa

Utilisez la méthode parseJSON :

var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);

Ensuite, vous avez un tableau avec les noms de ville.

30
Guffa
var dataArray = [];
var obj = jQuery.parseJSON(yourInput);

$.each(obj, function (index, value) {
    dataArray.Push([value["yourID"].toString(), value["yourValue"] ]);
});

cela m'aide beaucoup :-)

8
var dataArray = [];
var obj = jQuery.parseJSON(response);
  for( key in obj ) 
  dataArray.Push([key.toString(), obj [key]]);
};
1
Mohammed Amine

avec parse.JSON

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );
0
tailor