【问题标题】:Deserialize JSON containing an anonymous function using .net使用 .net 反序列化包含匿名函数的 JSON
【发布时间】:2013-09-06 04:46:08
【问题描述】:

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

无效的 JSON 原语:函数。

JSON 字符串本身如下所示:

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

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

【问题讨论】:

    标签: json serialization anonymous-function


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      相关资源
      最近更新 更多