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 Beaird;SitePoint;39.95;USD
jQuery: Novice to Ninja;http://www.sitepoint.com/books/jquery1/;JEarle Castledine & Craig Sharkie;SitePoint;29.95;USD上海企业网站设计与制作n style="color: #008000;">
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) {
上海闵行企业网站设计与制作span>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-16 12:35:29

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

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

这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP.现在我们来看看自定义数据格式. 最佳的数据传输格式应该是使用最少的传输量表达最需要的数据.想想之前在XML和JSON中定义的书的数据.我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写: 上海企业网站制作 The Principles of Beautiful Web Design上海企业网站设计与制作n style="color: #000000;">, 2nd

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

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

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

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

用WSDL定义Web服务

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

ASP.NET创建Web服务之异步Web服务

asp.net|web|web服务|创建|异步 为了改善调用阻碍线程的长期运行的方法的XML Web服务方法的性能,你应该考虑把它们作为异步的XML Web服务方法发布.实现一个异步XML Web服务方法允许线程在返回线程池的时候执行其他的代码.这允许增加一个线程池中的有限数目的线程,这样提高了整体性能和系统的可伸缩性. 通常,调用执行输入/输出操作的方法的XML Web服务方法适于作为异步实现.这样的方法的例子包括和其他的XML Web服务通讯.访问远程数据库.执行网络输入/输出和读写大文件方

从 SOAP Toolkit 迁移到 Web 服务

web 摘要:如何从 Visual Basic 6.0 和 Visual Basic .NET 访问 Web 服务,以及如何将现有的 SOAP 应用程序转换到 .NET 平台. 目标了解 Microsoft Visual Studio .NET 中的 SOAP 工具 回顾使用 SOAP 和 Visual Basic 6.0 访问 COM/COM+ 组件 从 Visual Basic .NET 访问 Web 服务 将 SOAP Toolkit 应用程序迁移到 Web 服务 前提条件了解什么是 We

ASP.NET创建Web服务之声明

asp.net|web|web服务|创建 声明一个XML Web服务 当你使用ASP.NET创建一个XML Web服务时,你要把所需的@_WebService指令放到.asmx文件的最顶端..asmx文件的存在和@_ WebService指令与所实现的XML Web服务的URL地址相关.接下来,你实现XML Web服务类来定义XML Web服务客户端可见的方法和数据类型.最后,你把你的XML Web服务逻辑添加到那些方法上,以便处理XML Web服务请求和返回的响应.你定义的XML Web服务类

使用JAXB框架定制Web服务行为

Web 服务 Web 服务概述 从本质上来讲 Web 服务就是对外暴露的并能够通过 Web 进行调用的一组 API,它并不要求服务提供方及调用方的技术实现.编程语言.运行平台甚至操作系统等.也正因为这个特点 Web 服务能在企业应用集成领域迅速占领一席之地,并成为实施应用程序集成的首选手段之一,同时 Web 服务也是面向服务架构的重要实现手段. 深入剖析 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 结合使用,并说明为什么可能