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.
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);
});
var obj = $.parseJSON(result);
for (var prop in obj) {
alert(prop + " is " + obj[prop]);
}
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]);
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'
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]);
}
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);