尝试反序列化包含匿名函数的 JSON 字符串时出现 .net 运行时错误:
无效的 JSON 原语:函数。
JSON 字符串本身如下所示:
{ 动作:“淡入”,回调:function(){doSomething();} }
这让我想知道是否允许在要在 .net 中序列化的 JSON 字符串中包含匿名函数。更具体地说,我只能使用 .net 框架自己的 JavaScriptSerializer 类进行反序列化。任何人都可以确认这一点,或有解决方案吗?
尝试反序列化包含匿名函数的 JSON 字符串时出现 .net 运行时错误:
无效的 JSON 原语:函数。
JSON 字符串本身如下所示:
{ 动作:“淡入”,回调:function(){doSomething();} }
这让我想知道是否允许在要在 .net 中序列化的 JSON 字符串中包含匿名函数。更具体地说,我只能使用 .net 框架自己的 JavaScriptSerializer 类进行反序列化。任何人都可以确认这一点,或有解决方案吗?
JSON 是一种数据表示协议,因此它只能用于表示数据,而不是行为(这就是函数)。正如您的反序列化器告诉您的那样,您所拥有的不是有效的 JSON(不过,它是一个有效的JavaScript 对象,这会导致一些混乱)。有关此格式的更多详细信息,请查看JSON 规范。
所以对于你的问题 - 不,你不能反序列化包含 JSON 的函数,因为它首先不是 JSON。