J'obtiens cette erreur "erreur de syntaxe non capturée, jeton inattendu U" lorsque j'exécute ma page dans Chrome. Et dans Firefox, je reçois, "JSON.parse: caractère inattendu". Je retourne les données json d'un fichier php et la chaîne json retournée est valide. Je l'ai vérifié avec http://jsonlint.com/ . Toute aide serait appréciée Merci.
Voici la chaîne JSON retournée
[
["1","Pan Africa Market","\"1521 1st Ave, Seattle, WA\"","47.608941","-122.340145","restaurant"],
["2","The Melting Pot","14 Mercer St, Seattle, WA","47.624562","-122.356442","restaurant"],
["3","Ipanema Grill","1225 1st Ave, Seattle, WA","47.606366","-122.337656","restaurant"],
["4","Sake House","230 1st Ave, Seattle, WA","47.612825","-122.34567","bar"],
["5","Crab Pot","1301 Alaskan Way, Seattle, WA","47.605961","-122.34036","restaurant"],
["6","Mexican Kitchen","2234 2nd Ave, Seattle,WA","47.613975","-122.345467","bar"],
["7","Wingdome","1416 E Olive Way, Seattle, WA","47.617215","-122.326584","bar"],
["8","Piroshky Piroshky","1908 Pike pl, Seattle, WA","47.610127","-122.342838","restaurant"]
]
\"
la sortie.Réponses:
Cette erreur est normalement visible lorsque la valeur donnée à
JSON.parse
est réellementundefined
. Donc, je vérifierais le code qui essaie d'analyser cela - très probablement, vous n'analysez pas la chaîne réelle affichée ici.la source
"undefined"
d'une chaîne au lieu du littéralundefined
. Je viens de passer 30 minutes à le découvrir.u
, est qu'ilundefined
est contraint en une chaîne (car une chaîne est ce que JSON.parse attend).Unexpected token N in JSON at position...
et le problème était unedouble
valeur:NaN
J'obtenais ce message lors de la validation (dans le projet MVC). Pour moi, l'ajout de l' élément ValidationMessageFor a résolu le problème.
Pour être précis, la ligne numéro 43 dans jquery.validate.unobtrusive.js a provoqué le problème:
la source
$("form :input").valid();
pour déclencher la validation. Mais apparemment, une erreur s'est produite sur un champ caché sans ValidationMessageFor. Corrigé en changeant pour$("form :input:visible").valid();
Le paramètre pour JSON.parse peut ne rien retourner (c'est-à-dire que la valeur donnée pour JSON.parse est
undefined
)!Cela m'est arrivé pendant que j'analysais le code de solidité compilé à partir d'un fichier xyz.sol.
qui a été mal orthographié comme
qui ne retournait rien!
la source
Le cas le plus courant de cette erreur se produit est d'utiliser un modèle qui génère le contrôle, puis de changer la manière
id
et / ouname
sont générés en remplaçant le modèle par défaut avec quelque chose commepuis oublier de passer
ValidationMessageFor
àJ'espère que cela vous fera gagner du temps.
la source
J'ai rencontré cette erreur lorsque j'ai exécuté une condition de recherche sur un JSONArray dans une boucle for. Le problème que j'ai rencontré était le résultat d'une des valeurs de la boucle for retournant null. Par conséquent, lorsque j'ai essayé d'accéder à une propriété, cela a échoué.
Donc, si vous faites quoi que ce soit dans JSONArrays où vous n'êtes pas sûr de la source de données et de son intégrité, je pense que c'est une bonne habitude de traiter les exceptions nulles et non définies dans ce cas.
Je l'ai corrigé en vérifiant null sur la valeur retournée de find sur le JSONArray et en gérant les exceptions de manière appropriée.
J'ai pensé que cela pourrait aider.
la source
Dans mon cas, il essayait d'appeler JSON.parse () sur une variable AJAX avant le retour de XHRResponse. PAR EXEMPLE:
J'ai remplacé cela par un exemple sur le site jQuery pour $ .get :
la source
Au cas où tu ne comprendrais pas
par exemple, cela signifie que j'ai une chaîne JSON .. PAS ENCORE UN OBJET OU UN RÉSEAU JSON.
donc si en javascript u analyser la chaîne comme
Excellentes réponses ci-dessus
la source
Cette réponse s'adresse aux personnes confrontées à cette erreur lors de l'utilisation de File Upload .
Nous utilisions un middleware pour le chiffrement basé sur des jetons - déchiffrement et nous avons rencontré la même erreur.
Voici notre code dans le fichier d'itinéraire:
ici, nous appelions le middleware avant la fonction de téléchargement et cela provoquait l'erreur. Donc, quand nous l'avons changé en cela, cela a fonctionné.
la source
Ce n'est pas une tâche difficile. Ce problème se produit également sur mon site, vous devriez avoir à déplacer vos fichiers js en ordre supérieur. Parce qu'à l'endroit où vous utilisez l'analyse JSON, cette fois, vos fichiers JS ne sont pas chargés. EXEMPLE #
changer pour
la source
Eh bien, à tous ceux qui ne peuvent trouver l'erreur nulle part dans votre code, ni "non défini comme il est dit dans le stockage local, ni null" ... simplement commentez votre code et écrivez-en un autre qui supprime réellement l'élément dans le stockage local. .après cela, vous pouvez commenter ou supprimer le code actuel et réinitialiser à nouveau le précédent en le décommentant simplement (si vous ne supprimez pas t ... si vous l'avez fait, vous pouvez le réécrire :))
La console affichera null et qu'il .. réinitialise à nouveau votre code si cela ne fonctionne pas, mec! Vous avez des erreurs.
Désolé pour mon anglais!
la source
J'obtenais cette erreur, lorsque j'utilisais la même variable pour la chaîne json et json analysé:
J'ai changé de fonction pour:
Maintenant, cette erreur a disparu.
la source