2013-09-05 133 views
0

試圖desrialize包含對匿名函數的JSON字符串時,我得到一個.NET運行時錯誤的匿名函數:反序列化JSON包含使用.NET

無效的JSON原始:功能。

JSON字符串本身看起來是這樣的:

{ 行動: 「淡入」, 回調:函數(){DoSomething的();} }

這讓我懷疑是否被允許在要在.net中序列化的JSON字符串中具有匿名函數。更具體地說,我只能使用.net框架自己的JavaScriptSerializer類進行反序列化。任何人都可以證實這一點,或有解決方案?

回答

0

JSON是數據表示協議,因此它只能用於表示數據而不是行爲(這是什麼功能)。正如你的反序列化器告訴你的,你擁有的不是有效的JSON(雖然這是一個有效的JavaScript對象,但這會造成一些混淆)。請查看JSON spec以瞭解有關此格式的更多詳細信息。

所以對於你的問題 - 不,你不能反序列化包含JSON的函數,因爲它首先不是JSON。