• 4.2 数据交换格式
    • A)常用的数据交换格式有三种:
    • B)protobuf的优势与劣势

    4.2 数据交换格式

    A)常用的数据交换格式有三种:

    • json: 一般的web项目中,最流行的主要还是 json。因为浏览器对于json 数据支持非常好,有很多内建的函数支持。

    • xml: 在 webservice 中应用最为广泛,但是相比于 json,它的数据更加冗余,因为需要成对的闭合标签。json 使用了键值对的方式,不仅压缩了一定的数据空间,同时也具有可读性。

    • protobuf: 是后起之秀,是谷歌开源的一种数据格式,适合高性能,对响应速度有要求的数据传输场景。因为 profobuf 是二进制数据格式,需要编码和解码。数据本身不具有可读性。因此只能反序列化之后得到真正可读的数据。

    B)protobuf的优势与劣势

    优势:

    1:序列化后体积相比Json和XML很小,适合网络传输

    2:支持跨平台多语言

    3:消息格式升级和兼容性还不错

    4:序列化反序列化速度很快,快于Json的处理速速

    劣势:

    1:应用不够广(相比xml和json)

    2:二进制格式导致可读性差

    3:缺乏自描述