0

尝试反序列化包含匿名函数的 JSON 字符串时出现 .net 运行时错误:

无效的 JSON 原语:函数。

JSON 字符串本身如下所示:

{ 动作:“淡入”,回调:function(){doSomething();} }

这让我想知道是否允许在要在 .net 中序列化的 JSON 字符串中包含匿名函数。更具体地说,我只能使用 .net 框架自己的 JavaScriptSerializer 类进行反序列化。任何人都可以确认这一点,或有解决方案吗?

4

1 回答 1

0

JSON 是一种数据表示协议,因此它只能用于表示数据,而不是行为(这就是函数)。正如您的反序列化器告诉您的那样,您所拥有的不是有效的 JSON(不过,它是一个有效的JavaScript 对象,这会导致一些混乱)。有关此格式的更多详细信息,请查看JSON 规范

所以对于你的问题 - 不,你不能反序列化包含 JSON 的函数,因为它首先不是 JSON。

于 2013-09-05T20:46:08.803 回答