web-dev-qa-db-fra.com

Boucle et obtenir une paire clé / valeur pour le tableau JSON à l'aide de jQuery

Je cherche à parcourir un tableau JSON et à afficher la clé et la valeur.

Cela devrait être une version simplifiée du post suivant, mais je ne semble pas avoir la syntaxe correcte: jQuery 'chaque' boucle avec tableau JSON

J'ai aussi vu le post Obtenez le nom de la clé dans la paire clé/valeur en JSON en utilisant jQuery?, mais cela semblait aussi beaucoup de code pour une activité simple.

Cela illustre ce que je recherche (mais cela ne fonctionne pas):

var result = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
$.each(result, function(k, v) {
             //display the key and value pair
            alert(k + ' is ' + v);
        });

Il n'y a pas d'exigence obligatoire pour jQuery, mais elle est disponible. Je peux également restructurer le JSON s'il coupe le code requis.

58
JStark

Vous avez une chaîne représentant un objet JavaScript sérialisé JSON. Vous devez le désérialiser en un objet JavaScript avant de pouvoir parcourir ses propriétés. Sinon, vous ferez une boucle à travers chaque caractère individuel de cette chaîne.

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
    //display the key and value pair
    alert(k + ' is ' + v);
});

Démo en direct .

141
Darin Dimitrov
var obj = $.parseJSON(result);
for (var prop in obj) {
    alert(prop + " is " + obj[prop]);
}
18
xdazz

Ce qui suit devrait fonctionner pour une chaîne renvoyée par JSON. Cela fonctionnera également pour un tableau associatif de données.

for (var key in data)
     alert(key + ' is ' + data[key]);
6
Smith

Vous pouvez obtenir les valeurs directement dans le cas d'un tableau comme ceci:

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var result = $.parseJSON(resultJSON);
result['FirstName']; // return 'John'
result['LastName'];  // return ''Doe'
result['Email']; // return '[email protected]'
result['Phone'];  // return '123'
6
Oskar

Analyser la chaîne JSON et vous pouvez parcourir les clés.

var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"[email protected]","Phone":"123 dead drive"}';
var data = JSON.parse(resultJSON);

for (var key in data)
{
    //console.log(key + ' : ' + data[key]);
    alert(key + ' --> ' + data[key]);
}
2
mythicalcoder

La solution la meilleure et parfaite pour ce problème:

J'ai essayé le jQuery avec les réponses de succès Ajax, mais ça ne marche pas, alors j'ai inventé la mienne et finalement ça marche!

Cliquez ici pour voir la solution complète

var rs = '{"test" : "Got it perfect!","message" : "Got it!"}';
eval("var toObject = "+ rs + ";");
alert(toObject.message);
0
user1644502