对比Json和ProtocolBuffer
1、JSON因为有一定的格式,并且是以字符存在的,在数据量上还有可以压缩的空间。而ProtocolBuffer上大数据量时,空间比JSON小很多。
2、JSON各个库之间的效率相差比较大,jackson库和GSON就大概有5-10的差距。而ProtocolBuffer只需要一个,没有所谓的多个库的区别。
Json样例:
{
"DevInfo":{
"SN":"Android",
"DI":"863363036038592-460019031508084-144379774dc1c0b8",
"IMSI":"460019031508084",
"MAC":"6c:5c:14:25:be:ba",
"DBG":"0"
}
}
ProtoBuffer样例:
大小比对
fileName | fileTyoe | storageFormat | fileSize |
---|---|---|---|
app.txt | json | textFile | 195M |
app.proto | protobuffer | textFile | 91M |
app_txt.tar.gz | json | gzip | 1.8M |
app_proto.tar.gz | protobuffer | gzip | 640K |
上面的表应该可以看得比较清楚了,在大数据的应用中proto是非常占优势的,数据都进行压缩,proto约为json的1/3。
参考文章:https://developers.google.com/protocol-buffers/docs/javatutorial