Décodage JSON avec jQuery / AJAX
Je suis en train de décoder un JSON avec jQuery.
Voici ce que j'obtiens (par exemple une classe, ici avec un étudiant):
"{"Students":[{"Name":John,"Grade":17,}],"TotalClass":17,"TotalCount":1,}"
voici ce que je fais:
$j.ajax({
type: 'POST',
url: 'class.aspx/getClass',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
$j.each(msg, function (index, element) {
alert(element.TotalClass);
});
},
});
Il n'arrête pas de dire non défini dans l'alerte (mais j'obtiens le droit JSON). Toute idée de ce que je fais mal?
Est que le json renvoyé par le serveur? Aussi, vous avez une virgule supplémentaire sur l'avant-dernière ligne.
Si vous recevez le devis que vous avez mis autour du json, qui ne peut pas être analysée.
C'est que le exact JSON le serveur renvoie? Parce qu'il est invalide.
J'étais sous l'impression que vous pouvez analyser JSON avec des guillemets, vous avez juste à appeler JSON.parse(stringified_version);
J'ai eu un problème similaire - la réponse JSON n'était pas, et,traduit par" JS objet. La raison en est assez simple: j'ai écrit
Si vous recevez le devis que vous avez mis autour du json, qui ne peut pas être analysée.
C'est que le exact JSON le serveur renvoie? Parce qu'il est invalide.
J'étais sous l'impression que vous pouvez analyser JSON avec des guillemets, vous avez juste à appeler JSON.parse(stringified_version);
J'ai eu un problème similaire - la réponse JSON n'était pas, et,traduit par" JS objet. La raison en est assez simple: j'ai écrit
datatype
au lieu de dataType
... il est Donc digne de vérifier de telles choses.OriginalL'auteur blop | 2012-06-13
Vous devez vous connecter pour publier un commentaire.
n'est pas JSON valide !
En supposant que vous avez un valide
JSON
comme ceVous pouvez accéder aux valeurs de ce type
Échantillon de travail : http://jsfiddle.net/ncbLF/5/
Utilisation jsonlint pour valider JSON
De sorte que votre code peut être simplifié à
OriginalL'auteur Shyju
contentType
est le type de données envoyées à le serveur, pas de. Supprimer ce.Le JSON que vous avez inclus dans la question. C'est que la exacte JSON le serveur renvoie? Parce que si c'est, vous n'avez pas besoin de la
$.each
. Vous avez un objet, vous aurez uniquement besoin$.each
à boucle si un tableau d'objets.Donc, juste essayer de
alert(msg.TotalClass)
.Aussi, que JSON est pas valide. Vous avez un supplément de
,
aprèsTotalCount
, et aprèsGrade
. Aussi,John
doit être entre guillemets doubles.OriginalL'auteur Rocket Hazmat
Juste essayer d'alerte
Remarque
que vous définissez
dataType: 'json'
je pense donc que vous n'avez pas besoin de l'analyser de l'effort et de donnée JSON a erreur, je ne sais pas, est-il écrit ou à l'origine envoyés à partir du serveur.Et vous n'avez pas besoin de la ligne de
Vous json valide devrait ressembler à:
OriginalL'auteur thecodeparadox