次の2行のjavascriptコードは、Uncaught SyntaxErrorを引き起こします。
var testObj = JSON.parse("{ testFunc: function () { console.log("whoa there"); }}");
testObj["testFunc"]();
私のJSON文字列について何が無効なのか理解できません。
回答:
回答№1は5私の知る限りでは、これはJSON文字列ではありません。しかしむしろ文字列リテラルによって保持されているJavaScript。 JSONは、XMLと同じように、複数のプラットフォームにわたるデータを表すための手段です。 JSONの仕様を見てください。
実際に関数である値を渡したい場合は、JavaScriptを使用する必要があります。 eval
methodでは、JSON文字列値をこれらのメソッドを管理するオブジェクトへのキーとして機能させることもできます。
回答№2の場合は3
JSONはインライン関数定義を許可していません...それはJavaScriptです。