Itération sur le tableau d'objets
J'ai une chaîne JSON comme ce
var json = '{ "Comments":
[
{ "Id" : 1,"Comment" : "Test comment","Name" : "Yogesh","Child" : 0},
{ "Id" : 2,"Comment" : "Test comment II","Name" : "Yogesh","Child" : 0}
]
}';
et je suis en train de parcourir les objets en tant que tels:
var parsedJSON = $.parseJSON(json);
var html = "";
for (comment in parsedJSON.Comments) {
html += "Id: " + comment.Id;
html += "Comment: " + comment.Comment;
html += "Name: " + comment.Name;
html += "Child: " + comment.Child;
html += "<br/>";
}
Mais ici comment
en boucle devient 0
et 1
seulement, je veux dire, pas un objet, mais simplement une chaîne de caractères, comment puis-je effectuer une itération sur ce tableau?
- Vous n'êtes pas à parcourir JSON, vous êtes de parcourir un tableau JavaScript. J'ai corrigé votre question en conséquence. Vous devez utiliser un
for
boucle pour cela. Vous pouvez également lire tableaux en JavaScript.
Vous devez vous connecter pour publier un commentaire.
Démo
forEach
varsion de cette solution: jsfiddle.net/Jrg2k/5Vous semblez avoir mal compris comment
for..in
boucles de travail.comment
sera de manière itérative être les clés du tableau. Dans tous les cas, vous ne devez pas utiliserfor..in
sur un tableau, seuls les objets - et là encore avec prudence.parsedJSON.Comments
n'y a pas eu de définition de la longueur.Vous pouvez essayer ceci:
Vous pouvez utiliser
$.each
:Sinon, vous pouvez utiliser
$.map
:Commentaires est titulaire d'un tableau à deux éléments.
De sorte que vous pouvez y accéder avec