var s = "{ "background-color": "#4a90e2", "margin": 10px }";
JSON.parse(s);
the above code throws following error
Uncaught SyntaxError: Unexpected token p in JSON at position 46
5 Réponses :
Vous devez simplement envelopper 10px dans des guillemets ("10px") et assurez-vous d'alterner entre différentes citations pour ne pas casser les cordes:
var s = '{ "background-color": "#4a90e2", "margin": "10px" }';
JSON.parse(s);
Actuellement, votre syntaxe JSON est incorrecte, ainsi que votre syntaxe JavaScript.
Votre JSON doit avoir des clés qui sont des chaînes et des valeurs qui sont des chaînes. Pour le moment, votre De plus, vos devis de votre chaîne que vous utilisez pour les clés / valeurs de l'objet enfreignent la chaîne elle-même. Vous pouvez utiliser des backticks, des backslashes ou des guillages simples pour encapsuler correctement votre chaîne (sans casser la chaîne): p> 10px code> n'est pas une chaîne. Vous devez modifier ceci en "10px" code> p> var s = "{\"background-color\": \"#4a90e2\", \"margin\": \"10px\"}";
console.log(JSON.parse(s));
Votre chaîne d'entrée est invalide.
Vous ne pouvez pas avoir aussi Les modifications doivent être effectuées - p> " code> à l'intérieur d'un autre " code> p> li>
10px code> est une chaîne afin que vous ayez besoin d'envelopper dans la citation p> li>
ul>
Vous devez utiliser différents types de citations!
Cela fonctionnerait: '{"fond-couleur": "# 4A90E2", "marge": "10px"}' code>. P>.
Tout d'abord, ne devrait-il pas être une chaîne? Veuillez ajuster cela ... p>
Déjà il y a tellement de réponses indiquant la même chose, qu'est-ce qui est nouveau dans le vôtre?
J'ai répondu avant que des réponses similaires ne changent, c'est probablement le réseau.
C'est une chaîne JSON non valide,
10px code> doit être comme ceci:"10px" code>, donc avecjson.parse () code> vous ne pouvez pas .String est une chaîne non valide, vous ne pouvez pas avoir
" code> intérieur" code>Vous manquez une citation dans
"marge": 10px code> ==>"marge": "10px" code>Votre chaîne n'est pas un JSON valide (comme l'erreur le dit), vous devez mettre "autour du 10px