Comment résoudre JSON.parse: mauvais caractère de contrôle dans la chaîne littérale, dans ce code
Je suis un débutant en JSON document, c'est mon code merci donc de m'aider à résoudre cette erreur.
{
"_id" : "_design/utilisateur",
"_rev" : "1-967a00dff5e02add41819138abb3284d",
"views" : {
"tous" : {
"map" : "function(doc){if (doc.role=='utilisateur') {emit (doc._id, [['t0',doc.distancet0],['t1',doc.distancet1],['t2',doc.distancet2],['t3',doc.distancet3], ['t4',doc.distancet4]])}}"
},
"3500" : {
"map" : "function(doc) {if (doc.role=='utilisateur' && doc.distancet0<3500) {emit(doc._id,doc.distancet0)}}"
},
"distancetot" : {
"map" : "function(doc) {var somme= Math.abs(doc.distancet0- doc.distancet1); if(doc.role=='utilisateur'){
emit(doc._id, somme);
}}"
}
}
}
source d'informationauteur user2553396
Vous devez vous connecter pour publier un commentaire.
Est le message d'erreur vous disant que vous avez un caractère de contrôle au sein d'une chaîne littérale, par exemple, le code de caractère de 8 ou 10 ou 13 ou quoi que ce soit en dessous de 32 (espace).
Le JSON définition nous dit que vous ne pouvez pas avoir littérale des caractères de contrôle dans les littéraux de chaîne, vous devez utiliser une séquence d'échappement tels que
\b
\r
\n
ou\uXXXX
oùXXXX
est un code hexadécimal pour une Unicode "point de code" (le personnage).Ainsi, par exemple, supposons que la suite est dans un fichier (ou d'autres flux de données):
C'est invalid JSON, le littéral de chaîne commençant par
"value
a au moins un caractère de contrôle (le saut de ligne, peut-être un ou deux caractères de contrôle en fonction de l'OS).C'est comment nous serait-il fixer:
Note le
\n
où le saut de ligne utilisé pour être.Vous pouvez utiliser http://jsonlint.com pour valider JSON, c'est assez bon, de montrer où est l'erreur.
Re votre edit: C'est en effet un saut de ligne à l'origine du problème:
Le saut de ligne après
if(doc.role=='utilisateur'){
est pas valide caractère de contrôle, tout comme dans mon exemple ci-dessus.