【问题标题】:Does the Microsoft JSON object serialization differ from the "normal" serialization?Microsoft JSON 对象序列化是否与“正常”序列化不同?
【发布时间】:2010-09-16 02:05:36
【问题描述】:

我记得听说微软必须为其 AJAX 框架实现 JSON 序列化的方式与大多数其他库不同。这是真的?如果有,有什么不同?

【问题讨论】:

    标签: jquery json


    【解决方案1】:

    我不确定其他任何事情,但我确实读到过他们必须进行一些修补才能使日期/时间工作(请参阅post)。

    【讨论】:

      【解决方案2】:

      有几个不同之处,两者都与安全性有关。首先是他们的 web 服务默认只接受 http POST。这样做是为了防止 JSON 劫持。您可以禁用此功能,并阅读更多相关信息here

      第二个区别与返回的数据有关。如果您通过使用 [WebMethod] 属性装饰静态对象来在代码隐藏中创建您的 Web 服务,则返回的 JSON 被包装在一个对象 naemd 'd' 中。这是为了防止JSON array constructor attacks

      是的,虽然这些代表了正确的事情 (tm),但它们可能会使与第三方库的交互变得困难。

      【讨论】:

        【解决方案3】:

        正如@Chris 所说,除了 Dates 的处理方式之外,没有什么特别之处。 JSON 规范没有对日期进行序列化的本地方式。

        如果你的 JSON 字符串中没有返回任何日期,你可以使用任何你想要的 deserializer。 MS AJAX 很好,因为它确实有办法首先验证 JSON 字符串是否有效。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-02
          • 1970-01-01
          • 1970-01-01
          • 2016-11-20
          相关资源
          最近更新 更多