1

次の2行のJavaScriptコードにより、UncaughtSyntaxErrorが発生します。

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

    testObj["testFunc"]();

json文字列の何が無効なのかわかりません。

4

2 に答える 2

5

私の知る限り、これはJSON文字列ではなく、文字列リテラルによって保持されるjavascriptです。JSONは、XMLと同様に、複数のプラットフォーム間でデータを表現する手段です。JSONの仕様をご覧ください。

http://www.json.org

実際に関数である値を渡したい場合は、javascriptevalメソッドを使用するか、JSON文字列値をこれらのメソッドを維持するオブジェクトへのキーとして機能させる必要があります。

于 2012-07-27T16:49:01.810 に答える
3

JSONはインライン関数定義を許可していません...それはJavaScriptです。

http://json.org/

于 2012-07-27T16:49:16.630 に答える