1

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

4

3 回答 3

2

我不确定其他任何事情,但我确实读到了他们必须做的一些修补才能使日期/时间工作(见帖子)。

于 2008-10-08T18:00:49.517 回答
2

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

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

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

于 2008-10-08T23:45:04.657 回答
0

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

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

于 2008-10-09T10:44:57.663 回答