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 № 1Pour 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:
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.