欢迎来到天天文库
浏览记录
ID:8973162
大小:93.00 KB
页数:9页
时间:2018-04-13
《ajax-使用json向服务器发送数据》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Ajax-使用JSON向服务器发送数据使用JSON向服务器发送数据做了这么多,你已经能更顺手地使用JavaScript了,也许在考虑把更多的模型信息放在浏览器上。不过,看过前面的例子后(使用XML向服务器发送复杂的数据结构),你可能会改变主意。通过串连接来创建XML串并不好,这也不是用来生成或修改XML数据结构的健壮技术。JSON概述XML的一个替代方法是JSON,可以在www.json.org找到。JSON是一种文本格式,它独立于具体语言,但是使用了与C系列语言(如C、C#、JavaScript等)类似的
2、约定。JSON建立在以下两种数据结构基础上,当前几乎所有编程语言都支持这两种数据结构:l 名/值对集合。在当前编程语言中,这实现为一个对象、记录或字典。l 值的有序表,这通常实现为一个数组。因为这些结构得到了如此众多编程语言的支持,所以JSON是一个理想的选择,可以作为异构系统之间的一种数据互换格式。另外,由于JSON是基于标准JavaScript的子集,所以在所有当前Web浏览器上都应该是兼容的。JSON对象是名/值对的无序集合。对象以{开始,以}结束,名/值对用冒号分隔。JSON数组是一个有序的
3、值集合,以[开始,以]结束,数组中的值用逗号分隔。值可以是串(用双引号引起)、数值、true或false、对象,或者是数组,因此结构可以嵌套。图3-6以图形方式很好地描述了JSON对象的标记。图3-6 JSON对象结构的图形化表示(摘自www.json.org)请考虑employee对象的简单例子。employee对象可能包含名、姓、员工号和职位等数据。使用JSON,可以如下表示employee对象实例:varemployee={ "firstName":John ,"lastName":Doe
4、 ,"employeeNumber":123 ,"title":"Accountant"}然后可以使用标准点记法使用对象的属性,如下所示:varlastName=employee.lastName; //Accessthelastnamevartitle=employee.title; //Accessthetitleemployee.employeeNumber=456; //ChangetheemployeenumberJSON有一点很引以为豪,这就是它是一个轻量级的数据
5、互换格式。如果用XML来描述同样的employee对象,可能如下所示: John Doe 123 Accountant显然,JSON编码比XML编码简短。JSON编码比较小,所以如果在网络上发送大量数据,可能会带来显著的性能差异。www.json.org网站列出了至少与
6、其他编程语言的14种绑定,这说明,不论在服务器端使用何种技术,都能通过JSON与浏览器通信。使用JSON的示例(此例子需要json.js,http://www.json.org/js.html最下面的链接点击下载,此例子使用的是比较老版本的json.js,如果你下载的是新的,使用的方法就不同了;JSONObject.java,JSONArray.java,http://www.json.org/java/index.html下载,注意不是javaJSON-lib虽然里面也有这两个类,可能是版本原因不同了如果
7、你要用json-lib,那你就必须下载json-lib-2.0-jdk15.jar,还必需下面5个jarjakartacommons-lang,jakartacommons-beanutils,jakartacommons-collectionsjakartacommons-logging,ezmorph 缺少任何一个都是不行的,试过了--!!前面4个在apache.org下载,最后一个在http://ezmorph.sourceforge.net/下载下面红色字体都是分歧部分,就看你是用什么了,经本人测试
8、没问题。)下面是一个简单的例子,展示了如何使用JSON将JavaScript对象转换为串格式,并使用Ajax技术将这个串发送到服务器,然后服务器根据这个串创建一个对象。这个例子中没有业务逻辑,也几乎没有用户交互,它强调的是客户端和服务器端的JSON技术。图3-7显示了一个“字符串化的”Car对象。图3-7 “字符串化的”Car对象因为这个例子几乎与前面的POST例子完全相同,所以我们只关注JSON特定的技术。点击
此文档下载收益归作者所有