zoukankan      html  css  js  c++  java
  • 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的数据格式有一些帮助。

    声明:此博有部分内容为转载,版权归原作者所有~
  • 相关阅读:
    单例
    淘宝在数据处理领域的项目及开源产品介绍 | 岭南六少
    数据库垂直拆分,水平拆分利器,cobar升级版mycat
    基于Gtid的mysql主从复制 和 mysql-proxy 读写分离
    几行lua代码计算http包总长度_指甲锉_新浪博客
    使用Lua和OpenResty搭建验证码服务器
    测试比json更快更小的二进制数据传输格式Msgpack [pythono MessagePack 版本]
    使用 HAProxy, PHP, Redis 和 MySQL 轻松构建每周上亿请求Web站点
    nginx+lua+redis实现验证码防采集
    OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能 | 琥珀志
  • 原文地址:https://www.cnblogs.com/waw/p/2218060.html
Copyright © 2011-2022 走看看