JSON d'Erreur de l'Analyseur
J'obtiens toujours un JSON d'erreur de l'analyseur pour les données suivantes:
[{"data":"Aerospace and Defense"},{"data":"Agriculture"},{"data":"Business Services"},{"data":"Chemicals"},{"data":"Construction"},{"data":"Consumer Goods and Services"},{"data":"Education"},{"data":"Electronics"},{"data":"Energy and Utilities"},{"data":"Environmental Services and Equipment"},{"data":"Financial Services"},{"data":"Food and Beverage"},{"data":"Healthcare Goods and Services"},{"data":"Industrial Goods and Services"},{"data":"Information Technology"},{"data":"Metals and Mining"},{"data":"Security Products and Services"},{"data":"Software"},{"data":"Telecom"},{"data":"Tranportation and Storage"}]
Quelqu'un peut-veuillez indiquer quelle est l'erreur? J'ai été à l'origine à l'aide de "Aerospace & de la Défense" et de la pensée que le caractère spécial pourrait être la question. Mais il ne ressemble pas à elle.
- Je utiliser l'ASP.NET MVC JSONResult pour passer ce retour à jQuery. FireFox et IE montrent les données créées correctement, mais le jquery analyseur renvoie une erreur. J'ai entendu dire que l'analyseur a été modifié de manière significative dans la nouvelle jQuery.
Toute aide serait très appréciée.
- Est l'Erreur
Invalid JSON
? Ou quelque chose d'autre? Quelle est la version de jQuery? Êtes-vous en faveur$.parseJSON
? Pourriez-vous montrer un peu de code? - Par "nouvelle version" tu veux dire quelle version exactement? Aussi, quel navigateur utilisez-vous?
- Il suffit de le mettre là-bas que jQuery analyseur n'aime pas voir NaN
Vous devez vous connecter pour publier un commentaire.
Semble OK pour moi. Voir DÉMO.
Une autre démo à l'aide de cette chaîne JSON dans une réponse à un réel jQuery AJAX demande:
Je ne vois pas vraiment comment le jQuery, JSON analyseur pourraient être modifiées de manière significative.
C'est le véritable source de jQuery.parseJSON en jQuery 1.5.1:
Il n'y a qu'un seul endroit qui pourrait potentiellement causer des problèmes, et c'est le JSON regexp:
mais c'était dernière modification en septembre 2010 par John Resig.
Quelle version utilisez-vous, de toute façon?
http://www.jsonlint.com/ dit que c'est valable.
Peut-être un bug jquery?
Quelle est la version de jQuery utilisez-vous? J'ai eu le exacte même de la difficulté à utiliser la valeur par défaut ASP.NET MVC modèle dans VS 2010 qui comprenait une copie locale de jQuery 1.5.1.
Même si mon retourné JSON avait l'air bien et validé j'ai continué à obtenir un "parserrror' à partir de $ajax jQuery fonction. Finalement, en désespoir de cause, j'ai changé pour jQuery 1.6 et il a bien fonctionné. Donc je soupçonne un bug dans 1.5.1.
peut-être vous avez besoin de guillemets simples au début et à la fin de json, il convient de chaîne puisque vous êtes l'analyse il
Je Vous remercie pour vos réponses étonnantes. Voici ce que j'ai trouvé après de plus amples recherches.
Je suis à l'aide de jquery1.5 et s'avère qu'il y a quelque chose de très intéressant. J'ai eu un post sur jsTree parce que j'ai d'abord pensé que c'était JSTree qui me donnait une erreur, mais il s'avère que ce n'est certainement pas jsTree mais peut-être jQuery liés.
En raison de la nature de la date limite sur ce projet, je n'ai pas été en mesure d'étudier l'ensemble du problème, mais j'ai vraiment trouvé une solution de contournement. Espérons que cela aide:
jsTree JSON avec MVC
De l'encapsulation de l'objet dans accolades résolu ce problème pour moi. Non [] et non "".
Une raison j'ai eu cette erreur était parce que j'étais d'économie d' \n (c'est à dire "C'est ma note. \n Il vous dit quelque chose") dans ma base de données... je l'ai obtenu à partir d'un textarea entrée. Quand j'ai essayé d'envoyer la chaîne json avec ce caractère d'échappement, il l'a jeté cette erreur.