`
李俊良
  • 浏览: 142230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax回调数据时使用何种数据格式的思考

    博客分类:
  • Ajax
阅读更多

      Ajax回调时,刚入门的新手可能直接用使用ajax回调一个jsp页面或者servlet,而回调的页面里面就已经包含了html代码,这种方式对于咱们自己一般的小型web应用还是可以这么做的

      但是如果对于一个中型的,或者是一个页面布局等各个方面都需要变化的时候,这种方式在代码维护等方面就有点制约性了,如果可能需要修改,我觉得从架构的角度讲,还是应该选择返回XML、json、Protocol Buffer这些数据格式,我们最熟悉的肯定是XML,但是XML的一个最大的遗憾就是解析的时候速度很慢,解析速度最快的就是PB(Protocol Buffer),同样大小的数据解析,有时候能快到20--100倍,但是PB能储存的数量相对比较小,json是一种日益受宠的一种数据格式了,json就类似一种数据,能储存的数据量也比较大,所以对于一般的web应用,采用json可能就是最好的选择,使用PB也可以,一般的web应用建议还是不用XML了,下面简单的介绍下json数据格式和PB格式。

      json数据格式如下:

      var myJSONObject = {"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};
      也可以直接使用json的框架,这样在解析的时候更加方便

      PB数据格式如下:

package tutorial;

option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;

  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }

  message PhoneNumber {
    required string number = 1;
    optional PhoneType type = 2 [default = HOME];
  }

  repeated PhoneNumber phone = 4;
}

message AddressBook {
  repeated Person person = 1;
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics