您的位置:首页 > Web前端 > JavaScript

用JSON改进AJAX数据传输ajax 处理json

2014-02-28 11:02 309 查看
、弁言 在设计要与远程计算机进行通讯的应用步伐时,必须选择一种数据格式和交换协议。有多种开放式标准方案可供选择,而最理想的选择决定于于应用步伐需 求和已经有的功能。大部分数浏览器可以构建、送出和分析XML,而JSON提供了一种适用于Ajax风格的web应用步伐的标准数据交换格式。 JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition-December1999的一个子集。JSON接纳完全自力于语言的文本格式,但是也使用了类似于C语言家族的习气。这些特性使JSON 成为理想的数据交换语言。根据JSON标准配置格式的数据是轻型的,可由JavaScript实现轻而易举地进行分析,使之成为适用于Ajax web应用步伐的理想数据交换格式。JSON主要是一种数据格式,因此它不局限于Ajax web应用步伐,在任何场合,只要应用步伐需要将布局化信息作为文本进行交换或存储,即可使用它。 二、JSON语法 JSON格式的数据有两种布局:对象和数组。对象是一个无序的"名称/值"对调集。一个对象以"{"(左大括号)开始,"}"(右大括号)结 束ajax。每个"名称"后跟一个":"(冒号);"名称/值"对之间使用","(逗号)分开。数组是值(value)的有序调集。一个数组以"["(左中括号) 开始,"]"(右中括号)结束。值之间使用","(逗号)分开。 JSON是依据JavaScript中对象和数组直接量表示法的子集所创立的数据交换格式。虽然JavaScript可接受的语法非常灵活,不 过必须注意,JSON的规则要严酷得多。然而,在JavaScript中,数组元素和对象成员值几乎可以是一切有效的JavaScript表达式,包孕函 数调用和定义。根据JSON格式标准配置的数据由单个顶层对象或数组组成。数组元素和对象值可以是对象、数组、字符串、数码、布尔值(true和 false)或null。 三、AJAX客户端浏览器对JSON的处理 AJAX客户端浏览器接纳JavaScript送出异步请求,并对送出和返回的数据进行处理。JSON是适用于Ajax应用步伐的一种有效格式,原因是JSON是JavaScript中对象和数组直接量表示法的一个子集,JavaScrpt可以对JSON格式的数据直接进行处理,无需进行格式 转换。AJAX客户端浏览器主要任务有两个:一是将要送出的数据封装成JSON格式,现实上就是纯文本字符串并将其送出给web服务器;二是对web服务 器返回的JSON格式的数据进行解析,掏出所需参数,做进一步的处理。 1、用json.js脚本将客户端数据封装成JSON 现阶段,JavaScipt不提供从给定对象或数组创立JSON文本的内置函数。这些方法估计将包含在新的ECMAScript标准中。在 JSON格式化函数正式添加ks inc ajax.js到JavaScript并广泛用于常见实现以前,我们使用可从www.json.org/json.js下载的参考实现脚本 json.js。该脚本将toJ-SONString()函数添加到数组、字符串、布尔值、对象和其他类型。标量类型的toJSONString()函数 相当简单,因为它们只需返回实例值的字符串表示形式。例如,如果值为true,Boolean类型的toJSONString()函数返回字符串 "true",不然返回"false"。对于数组,会依次调用每个所包含元素的toJSONString()函数,结果会以逗号进行连接从而分开每个结 果。最终输出会包孕在方括号内。同样,对于对象,会列举每个成员,并调用其toJSONString()函数。成员名称及其值的JSON表示形式在中间用 冒号连接;每个成员名称和值对以逗号分开,整个输出会包孕在大括号内。toJSONString()函数的现实结果是,使用单个函数调用可将所有类型转换 为其JSON格式。 2、将JSON文本送出给服务器 AJAX接纳JavaScript语言通过HTTP协议与web服务器实现异步通讯。JSON格式数据发给服务器的最简单方法是将其转换成文本,然后通过GET将JSON送出给服务器。 JSON数据中会有空格和各种字符,Web浏览器往往要尝试对其接续编译。要确保这些字符不会在服务器上(或在将数据送出给服务器的过程中) 引起杂乱,需要使用JavaScript中escape()函数。该函数可以处理空格、斜线和其他任何可能影响浏览器的内容,并将它们转换成Web可用字符,服务器收到后,凡是自己主动再把它们转换回原来的文jquery ajax java本。 然而,用GET请求送出大块数据时,对URL字符串有长度限定。对象的JSON字符串表示的长度可能超出您的想象,尤其是在使用极其复杂的对象 时更是云云。另外在跨网络以纯文本送出所有数据的时候,送出数据不太安全。若要处理任何秘要或极长的内容,可以使用POST请求。 3、客户端浏览器解析JSON 分析服务器返回的JSON文本很简单,由于JSON是JavaScript中对象和数组直接量表示法的一个子集,JavaScrpt可以对 JSON格式的数据直接进行处理,无需进行格式转换。我们可以利用JavaScript中的eval()函数将返回的JSON文本解析成 JavaScript中的对象或数组。然后调用解析后产生JavaScript对象或数组做进一步处理。 四、AJAX服务器端对JSON的处理 不管在服务器端使用何种语言,在服务器端处理JSON基本上就需要两个步骤:一是针对编写服务器端步伐所用的语言,找到响应的JSON解析器/ 东西API;二是使用JSON解析器/东西API取得来自客户端浏览器的请求数据并将数据转变成脚本能理解的东西。现阶段,JSON在浏览器端遭到 JavaScript的支持,服务器端的一些主流语言没有内置支持JSON的解析器/东西API,我们可以通过在www.json.org众多的开源方案 中进行选择。这些开源方案为众多的编程语言如Java、C#、VB.NET、PHP、Ruby、Python、C、C 等提供了对JSON的支持。 五、结束语 JSON的基本思惟是,把自己实现为JavaScript的一个子集,从而使其成为一种轻量级的和高度灵活的处理AJAX数据交换的体式格局。与传 统的XML处理技术比拟,这个东西的分析速度更快且更为易用。从该东西的性能和使用现状来看,它有可能会成为XML数据格式的主要替代者。本文网址:http://www.kukandy.com/web/ajax_36538.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: