数据交换格式 - PB(protocol buffer),xml,json,array

目录

 

PB

PB vs xml

PB vs json

 

json

json vs xml

xml

数组


PB

扩充容易,

二进制

序列化简单

ProtocolBuffers-Google's data interchange format

一种语言无关、平台无关、扩展性好的用于通信协议、 数据存储的结构化数据串行化方法。

类似 JSON, XML

https://github.com/google/protobuf/

 

PB vs xml

传输时相同内容

PB比xml小3~10倍

PB比xml快20~100倍

PB比xml更少的歧义

PB比xml更方便生成数据存取类

PB vs json

对于较多信息的存储和较大文件,protocol buffer的写入和解析效率明显高很多。但是JSON格式的可读性明显要好。

 PBjson

数据结构支持

较复杂结构

简单结构

数据格式

二进制

文本

数据大小

小,json大小的1/3左右

一般

解析效率

快,是json解析速度的3-10倍

一般

可读性

一般,需要.proto文件,否则读代码较难理解

好,自描述的

语言支持

一般,官方支持c/java/python

oc/php有开源库


java/oc/php均有较好的库

开发成本

一般,需要针对每个接口生成一个proto类

扩展性

相同,增加或删除字段均可做兼容

相同,增加或删除字段均可做兼容

安全性

天然加密,无法破解接口

无,需要自行加密

应用性

知名度略差,推广中

知名度高,推广好

 

json

json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

json vs xml

 jsonxml
数据量轻量级重量级
占用带宽占用带宽少,已于压缩占用带宽多
用途多用于数据交互多用于配置文件
解析方法可用jackson,gson等方法解析可用dom,sax,demo4j等方式解析。
层次结构 xml的层次结构比json更清晰。

xml

xml:Extensible Markup Language,简称XML可扩展,是一种标记语言

 

数组

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值