PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

JSON解读 完全发挥Ajax应用

JSON解读 完全发挥Ajax应用

来源:PHP程序员站  作者:PHP程序员站  发布时间:2011-06-28
XML这种用于表示客户端与服务器间数据交换有效负载的格式,几乎已经成了Web services的同义词。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。 JSON 作为一种更轻、更友好的 Web services

 此方法的输入参数是REST风格Web服务在调用时返回的响应。既然预先已经知道需要处理JSON字符串,那么可以利用JavaScript eval()函数,将这个JSON字符串放入内存,并允许数据访问,正是这样的简便性促使开发人员使用JSON。完全不需要进行解析,一个简单的eval()即可得到JavaScript结构,我们可以像操纵其他任何JavaScript结构一样地去操纵它。

  一旦JSON响应经过eval处理,将创建一个JavaScript循环来提取每个地址条目,并将各个匹配项放入一个名为finalResponse的容器变量中。而这个容器变量本身包含所有必要的格式,用于在页面布局中显示最终地址簿。循环结束时,匹配项也通过document.getElementById("addressBookResults").innerHTML放置完毕。

  最后,为了保持完整,页面的实际布局由这些代码组成:

<body>
<h4 style="text-align:left">Request address book matches:</h4>
<table style="text-align:left" cellpadding="15"><tr><td valign="top">From:<br/>
<select id="fromLetter" size="15" onchange="searchAddressBook()">
 <option>A</option>
 ...
 <option>Z</option>
</select>
</td><td valign="top">To:<br/>
<select id="toLetter" size="15" onchange="searchAddressBook()">
 <option>A</option>
 ...
 <option>Z</option>
</select>
</td><td valign="top">
<h5> Results </h5>
<div style="text-align:left" id="addressBookResults">Please select range</div>
</td></tr>
</table>
</body>

  上面的代码清单中最值得一提的是HTML选择列表,因为修改触发器Java程序需要调用信道外Ajax请求。其次,<div>元素就是放置格式化后的JSON响应的地方。

 

  JSON适合您吗

  就像在软件设计中编程语言的选择一样,JSON的选择与否取决于您自身的需求。如果Web services使用者将在传统、功能完备的编程环境(如Java 、.NET、PHP、Ruby等)中创建,那么完全可以不使用JSON。给定大多数编程语言环境的无限制能力可提供完整的配置控制权(更不必说对定制库、分析器或helper类的访问),那么JSON与XML及其他Web services有效载荷之间的差别可以忽略不计。

  反之,如果Web services使用者被限制在浏览器环境之外,那么JSON是值得认真考虑的对象。 在浏览器中使用Web services并非兴趣使然,而是实际业务需求。如果这时需要一个加载数据时不会出现延迟/刷新的“漂亮的Web 2.0界面”, 就不得不在浏览器中嵌入Ajax和Web services技术。

  在这种情况下,您不仅受限于通过网络访问处理环境,而且还会受到随机用户的限制,迫使经验丰富的开发人员用最普遍的工具在浏览器中处理文本,例如:前述的DOM,与访问JSON树相比,DOM使用起来非常困难。

  安装之前先解压下载得到的文件,将addressbook.html,prototype-1.4.0.js和restservice.jsp放入任意程序的目录下。将内含的json.jar复制到所选程序的/WEB-INF/lib目录下。访问//addressbook.html,并在HTML列表中进行选择。一切就绪,可以运行JSON了!

  结束语

  尽管 “Ajax”中的“x”代表XML,Web services也通过坚持使用XML格式而成为主流,但这并不意味着这种方式无懈可击。在文本处理方面,XML在Ajax程序的应用中已经暴露出一些缺点。在这种情形下,JSON逐渐成为引人注目的XML替代方案。

  通过对JSON语法优缺点的论述,以及对如何从REST风格Web services创建JSON输出、如何将其嵌入Web页面布局等问题的介绍,您现在应该能够为最终用户提供支持JSON的Web services,接触当前提供的大量利用这一极具前途的格式的Web services。


延伸阅读:
什么是JSON
JSON 入门指南
实例详解PHP serialize与JSON解析
PHP中JSON的应用
PHP中JSON技巧讲解
PHP json_encode函数进行中文转换
JSON Jquery Codeigniter 使用详解
在PHP使用json_encode
jquery JSON的解析方式
jQuery新版本加载json注意事项
jQuery插件—把xml转化为json插件
jQuery JSON插件json_encode and json_decode
JavaScript 解析 JSON 数据
json和xml比较
JSON压缩算法 JSON.hpack
Tags: JSON   ajax   应用  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号