/ / Pourquoi JSON.parse () renvoie-t-il Uncaught SyntaxError: Jeton inattendu lors de la tentative d'analyse d'un objet Json simple? - javascript, json

Pourquoi JSON.parse () lance-t-il SyntaxError Uncaught: jeton inattendu lors d'une tentative d'analyse d'un objet json simple? - javascript, json

Les deux lignes suivantes de code javascript provoquent l'erreur Uncaught SyntaxError:

    var testObj = JSON.parse("{ testFunc: function () { console.log("whoa there"); }}");

testObj["testFunc"]();

Je ne comprends pas ce qui est invalide à propos de ma chaîne json.

Réponses:

5 pour la réponse № 1

Pour autant que je sache, ce n'est pas une chaîne JSON,mais plutôt javascript tenu par un littéral de chaîne. JSON est, tout comme XML, un moyen de représenter des données sur plusieurs plates-formes. S'il vous plaît jeter un oeil à la spécification pour JSON:

http://www.json.org

Si vous voulez passer des valeurs qui sont réellement des fonctions, vous devez utiliser le javascript eval méthode alternativement, les valeurs de chaîne JSON fonctionnent comme des clés pour un objet qui gère ces méthodes.


3 pour la réponse № 2

JSON n'autorise pas les définitions de fonctions en ligne ... c'est du JavaScript.

http://json.org/