“.NET技术”Ajax和WEB服务数据格式:自定义返回格式
2011-10-13 19:27
771 查看
这是这一系列的最后一篇文章了,前面我们讲到了XML,SOAP,HTM格式和第二部分的JSON和JSONP。现在我们来看看自定义数据格式。
最佳的数据传输格式应该是使用最少的传输量表达最需要的数据。想想之前在XML和JSON中定义的书的数据。我们每一本书包含6条数据,所以我们可以简单的按照下面的格式来写:
我们的数据现在看起来跟分号分隔的列表差不多了。我们使用回车来区分每一本书,通过分号来区分书中的每一项内容,这个分隔符必须谨慎的选择,不选择逗号因为可能书名中出现逗号。
跟JSON不同,对于自定义的数据格式,我们必须得自己来解析返回的字符串,不过这个通过JavaScript自带的split()方法可以轻松完成。下面的代码就是将我们自定义的数据格式转换成为JSON的:
JavaScript可以很快的处理这些数据–即使是一千本书的数据。大多数情况下,你会发现下载和处理数据的时间远小于同样的基于JSON的异步请求的时间。
自定义的数据格式有下面这些好处:
1、很轻量级的数据,传输比较快。
2、在服务器端,不需要额外的东西就能很快很方便生成。
3、用这种格式构造恶意代码就很困难了。
当然也有他的不好处:
1、对于那种格式不一定的数据就不太方便了。比如,我们的书籍信息由可选的PDF的下载链接和下载价格,这样的话,处理的程序逻辑就比较复杂了。
2、你的服务可能比使用JSON和XML更加受到限制,如果你是自己在使用这个服务,那么问题不大,如果考虑到第三方使用的话,就不方便了。
3、需要为每一种的数据格式写处理的函数。
4、这样的数据可读性就比较差了。
5、还要确定分隔符不会出现在数据中间。需要在读取的时候就做一些处理。
看看前面的文章:
Ajax和WEB服务数据格式:XML SOAP HTML
Ajax和WEB服务数据格式:JSON JSONP
希望这一系列的文章对于大家认识Ajax的数据格式有一些帮助。
最佳的数据传输格式应该是使用最少的传输量表达最需要的数据。想想之前在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的数据格式有一些帮助。
相关文章推荐
- 一起谈.NET技术,Ajax和WEB服务数据格式:自定义返回格式
- Aj“.NET研究”ax和WEB服务数据格式:自定义返回格式
- Dojo AJAX 访问C#Web 服务 并且返回JS 格式的数据
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
- WCF服务返回JSON格式数据、配置web调用地址
- 使用jQuery框架的ajax技术,在Struts2返回json格式的数据
- Ajax技术--服务器返回数据格式(HTML,XML,JSON)
- SSH三大框架集成中,使用jQuery框架 Ajax技术返回json格式的数据(二)
- jquery ui autocomplete ajax返回数据自定义显示
- Java调用.NET XML Web Services返回的数据集合的方法
- 1.AJAX:客户端(服务器返回的是XML数据格式)
- JAVA与.NET“.NET技术”的相互调用——通过Web服务实现相互调用
- 快递单号跟踪借口 API免费接口 各种提供JSON格式数据返回服务网站的API接口
- ajax中返回数据的编码格式及不缓存的两种方法:
- $.ajax返回的JSON格式的数据后无法执行success的解决方法
- AJAX建立和服务器连接,接收服务器技术处理服务器返回的数据
- java web开发:ajax技术(二)—— 小数据传递的桥梁JSON
- ajax请求后台,返回json格式数据,模板!
- 使用Ajax发送Struts2请求返回JSON数据格式
- .net http post接口返回json格式数据