Welcome

首页 / 脚本样式 / Ajax / 掌握Ajax,第10部分: 使用JSON进行数据传输

掌握Ajax,第10部分: 使用JSON进行数据传输2011-09-27 IBM Brett McLaughlin以原生方式操作 JavaScript 对象

简介:在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式。掌握 Ajax的 这一期讨论另一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在 应用程序中移动数据和对象。

如果您阅读了本系列前面的文章,那么应已对数据格式有了相当的认识。前面的文章解释了在许多异 步应用程序中如何恰当地使用纯文本和简单的名称/值对。可以将数据组合成下面这样的形式:

firstName=Brett&lastName=McLaughlin&email=brett@newInstance.com

这样就行了,不需要再做什么了。实际上,Web 老手会意识到通过 GET 请求发送的信息就是采用这种 格式。

然后,本系列讨论了 XML。显然,XML 得到了相当多的关注(正面和负面的评价都有),已经在 Ajax 应用程序中广泛使用。关于如何使用 XML 数据格式,可以回顾 本系列前面的文章:

<request>
<firstName>Brett</firstName>
<lastName>McLaughlin</lastName>
<email>brett@newInstance.com</email>
</request>

这里的数据与前面看到的相同,但是这一次采用 XML 格式。这没什么了不起的;这只是另一种数据格 式,使我们能够使用 XML 而不是纯文本和名称/值对。

本文讨论另一种数据格式,JavaScript Object Notation(JSON)。JSON 看起来既熟悉又陌生。它提 供了另一种选择,选择范围更大总是好事情。

选择的意义

在深入研究 JSON 格式的细节之前,您应该了解为什么要用两篇文章讨论另一种数据格式(是的,本 系列中的下一篇文章也讨论 JSON),尤其在已经了解了如何使用 XML 和纯文本的名称/值对的情况下。 其实,原因很简单:解决任何问题的选择越多,找到问题的最佳 解决方案的可能性就越大,这比只能使 用一个 解决方案要好得多。

回顾名称/值对和 XML

本系列已经用了大量篇幅讨论适合使用名称/值对和 XML 的场合。总是应该首先考虑使用名称/值对。 对于大多数异步应用程序中的问题,使用名称/值对几乎总是最简单的解决方案,而且它只需要非常基本 的 JavaScript 知识。

实际上,除非有某种限制迫使您转向 XML,否则用不着考虑使用别的数据格式。显然,如果要向需要 XML 格式的输入的服务器端程序发送数据,那么希望使用 XML 作为数据格式。但是,在大多数情况下, 对于需要向应用程序发送多段信息的服务器,XML 是更好的选择;换句话说,XML 通常更适合用来向 Ajax 应用程序做出响应,而不是从 Ajax 应用程序发出请求。