“.NET技术”Ajax和WEB服务数据格式:自定义返回格式

  这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP。现在我们来看看自定义数据格式。

  最佳的数据传输格式应该是使用最少的传输量表达最需要的数据。想想之前在XML和JSON中定义的书的数据。我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写:

上海企业网站制作

The Principles of Beautiful Web Design上海企业网站设计与制作n style="color: #000000;">, 2nd Edition;http://www.sitepoint.com/books/design2/;Jason Beaird;SitePoint;39.95;USD
jQuery: Novice to Ninja;http://www.sitepoint.com/books/jquery1/;JEarle Castledine & Craig Sharkie;SitePoint;29.95;USD
Build Your Own Database Driven Website;http://www.sitepoint.com/books/phpmysql4/;Kevin Yank;SitePoint;39.95;USD

  我们的数据现在看起来跟分号分隔的列表差不多了。我们使用回车来区分每一本书,通过分号来区分书中的每一项内容,这个分隔符必须谨慎的选择,不选择逗号因为可能书名中出现逗号。

  跟JSON不同,对于自定义的数据格式,我们必须得自己来解析返回的字符串,不过这个通过JavaScript自带的split()方法可以轻松完成。下面的代码就是将我们自定义的数据格式转换成为JSON的:


// convert custom data to an array of JavaScript objects
function ParseBookData(ajaxdata) {
var book = [], bookData = ajaxdata.split("\n"), bookItem;
for (var b=0, bl=bookData.length; b <上海网站建设 bl; b++) {
bookItem = bookData[b].split(";");
book[b] = {
title: bookItem[0],
url: bookItem[1],
author: bookItem[2],
publisher: bookItem[3],
price: {
amount: parseFloat(bookItem[4]),
currency: bookItem[5]
}
};
}
return book;
}
var book = ParseBookData(xhr.responseText);
alert(book[0].title); // first book title
alert(book[1].url); // second book URL

  JavaScript可以很快的处理这些数据–即使是一千本书的数据。大多数情况下,你会发现下载和处理数据的时间远小于同样的基于JSON的异步请求的时间。

  自定义的数据格式有下面这些好处:

  1、很轻量级的数据,传输比较快。
  2、在服务器端,不需要额外的东西就能很快很方便生成。
  3、用这种格式构造恶意代码就很困难了。

  当然也有他的不好处:

  1、对于那种格式不一定的数据就不太方便了。比如,我们的书籍信息由可选的PDF的下载链接和下载价格,这样的话,处理的程序逻辑就比较复杂了。
  2、你的服务可能比使用JSON和XML更加受到限制,如果你是自己在使用这个服务,那么问题不大,如果考虑到第三方使用的话,就不方便了。
  3、需要为每一种的数据格式写处理的函数。
  4、这样的数据可读性就比较差了。
  5、还要确定分隔符不会出现在数据中间。需要在读取的时候就做一些处理。

  看看前面的文章:

  Ajax和WEB服务数据格式:XML SOAP HTML
  Ajax和WEB服务数据格式:JSON JSONP

  希望这一系列的文章对于大家认识Ajax的数据格式有一些帮助。

时间: 2024-10-08 03:52:51

“.NET技术”Ajax和WEB服务数据格式:自定义返回格式的相关文章

Aj“.NET研究”ax和WEB服务数据格式:自定义返回格式

这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP.现在我们来看看自定义数据格式. 最佳的数据传输格式应该是使用最少的传输量表达最需要的数据.想想之前在XML和JSON中定义的书的数据.我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写: The Principles of Beautiful Web Design, 2nd Edition;http://www.sitepoint.com/books/design2/;Jason

用Java技术创建RESTful Web服务

简介:JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传 统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX-RS 的主要组件.本文用一个例子展示了一个企业如何使用 JAX-RS 内的功能以 一种 Restful 的方式公开员工的联系信息. 背景 多年来,开发人员使用各种工具在其 Java 应用程序内创建 RESTful 服务.由于 REST 架构的简单性,主要需求 - 接收 HTTP 消息和 头部的能

客户端无法访问WEB服务的自定义类,这个是什么原因呢?

问题描述 首先,新建一个WEB服务,然后,新建一个类,加入代码如下:usingSystem;usingSystem.Collections;usingSystem.Collections.Specialized;usingSystem.Text;namespaceEmegencyService{[Serializable()]publicclassStudent{privatestringstuName;publicStudent(){}publicstringStuName{get{retur

Ajax基础教程(4)- 实现基本Ajax技术 4.8 访问Web服务

多年以来一直存在一个软件工程问题:从一台机器调用另一台机器上的服务或方法,即使这些机器使用完全不同的硬件或软件.对于这个问题,最近提出的解决方案是Web服务.几年前,Web服务大受吹捧,它的头上围绕着耀眼的光环,有些人认为Web服务就是分布式软件开发的"圣杯".后来,它的光芒逐渐黯淡下来,Web服务最终找到了自己合适的位置,它是支持异构计算机系统相互操作的一种有用的工具. Web服务通常用作为计算机系统之间的通信管道,这与CORBA(公共对象请求代理体系结构).RMI(远程方法调用)或

使用AJAX Extensions客户端进行Web服务调用

从根本上讲,ASP.NET 自始至终都是一项服务器端技术.当然,在某些情况下 ASP.NET 会生成客户端 JavaScript,特别是在验证控件中以及在新推出的 Web 部件基础结构中,但它通常只是简单地将客户端 属性转换成客户端行为.作为开发人员,在收到下一个 POST 请求之前不必考虑与客户端进行交互.对于 需要使用客户端 JavaScript 和 DHTML 构建更具交互性的页面的开发人员而言,则需要在 ASP.NET 2.0 脚本回调功能提供的一些帮助下自己编写代码.这一情况在去年得到

ASP.NET创建Web服务之XML基础结构

asp.net|web|web服务|xml|创建 为了在网络多样性方面取得成功,XML Web服务必须不关心所选择的操作系统.对象模型和程序语言.而且,XML Web服务为了和其他基于Web的技术一样被广泛接受,它们必须: 松散耦联:如果两个系统中,只有使用的命令能理解前面提到过的自我描述基于文本的消息,那么这两个系统就被认为是松散耦联的.而另一方面,紧密耦联的系统使用大量的定制的软件来增强系统间的通讯,并且需要对系统之间了解的更多. 无所不在的通信:现在个人不太可能能够构造一个操作系统,或者在

Java Web服务,第3部分: Axis2数据绑定

相关文章: Java Web服务,第1部分: Java Web服务在未来一年内的发展 Java Web服务,第2部分: 深度探索Axis2:AXIOM Apache Axis2 Web 服务框架一开始就设计用于支持多种 XML 数据绑定方法.当前的版本 提供对 XMLBeans 和 JiBX 数据绑定以及专门针对 Axis2 开发的自定义 Axis 数据绑定 (Axis Data Binding,ADB)的全面支持.本文将说明如何将这些不同的数据绑定方法与 Axis2 结合使用,并说明为什么可能

高并发Web服务的演变——节约系统内存和CPU

高并发Web服务的演变--节约系统内存和CPU 一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的.结合技术优化方案,才是更有效的解决方法. 并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有出现指数增长,因此它并非主要原因.主要原因,还是web变

用WSDL定义Web服务

web|web服务   <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />          在Web服务的世界里,应用程序基本上由远程的.XML驱动的组件构成,这些组件采用不同的语言编写,再采用标准的远程激活协议通过Web连接.服务提供者定义所提供服务需要用到的数据格式.同样的,当你在以上应用模式下接受Web服务时,你也需要采取措施保证你的客户程序采用了服务器期望的数据格