0

匿名関数を含む JSON 文字列を逆シリアル化しようとすると、.net 実行時エラーが発生します。

無効な JSON プリミティブ: 関数。

JSON 文字列自体は次のようになります。

{ アクション: "fadeIn", コールバック: function(){doSomething();} }

これは、.net でシリアル化される JSON 文字列に匿名関数を含めることが許可されているかどうか疑問に思います。より具体的には、逆シリアル化には .net フレームワーク独自の JavaScriptSerializer クラスしか使用できません。誰でもこれを確認できますか、または解決策がありますか?

4

1 に答える 1

0

JSON はデータ表現プロトコルであり、データを表現するためにのみ使用でき、動作 (関数とは何か) には使用できません。あなたのデシリアライザーがあなたに言ったように、あなたが持っているのは有効な JSON ではありません (ただし、これは有効なJavaScript オブジェクトですが、混乱を招きます)。この形式の詳細については、 JSON 仕様を確認してください。

あなたの質問に - いいえ、そもそも JSON ではないため、JSON を含む関数を逆シリアル化することはできません。

于 2013-09-05T20:46:08.803 に答える