卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

string字符串轉(zhuǎn)json 有Protocol buffer這種輕便的序列化反序列化工具,Json為什么還會(huì)大量使用?

有Protocol buffer這種輕便的序列化反序列化工具,Json為什么還會(huì)大量使用?原因很簡單:1,json是JavaScript原生支持的,沒有外部依賴2,json具有人眼可讀性3,開發(fā)人員偷

有Protocol buffer這種輕便的序列化反序列化工具,Json為什么還會(huì)大量使用?

原因很簡單:

1,json是JavaScript原生支持的,沒有外部依賴

2,json具有人眼可讀性

3,開發(fā)人員偷懶

關(guān)于序列化的協(xié)議和框架,估計(jì)都可以出一本百科全書了,熱門一點(diǎn)的如:

xml、json、bson、Hessian、protocol buffers...

還有很多小眾冷門的,排名不分先后。

雖然有各種各樣的協(xié)議和框架,但序列化本質(zhì)上可以分為兩種:

  • 二進(jìn)制協(xié)議,如 bson、Hessian、protocol buffers等,將數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制形式。
  • 文本協(xié)議,如 xml,json 等,這類協(xié)議將數(shù)據(jù)轉(zhuǎn)換為文本(字符串)的形式。

二進(jìn)制協(xié)議的優(yōu)點(diǎn)是體積小效率高,例如protocol buffers可以用將數(shù)據(jù)壓縮到位(bit),序列化和反序列化的性能也很好,非常適用于各種系統(tǒng)通訊和接口調(diào)用。

但問題也在這里,二進(jìn)制數(shù)據(jù)幾乎沒有可讀性,所以在開發(fā)和調(diào)試程序時(shí),對(duì)程序員來說就比較痛苦,尤其是頻繁變化的數(shù)據(jù)結(jié)構(gòu)。

文本協(xié)議則剛好相反,數(shù)據(jù)體積大,性能差,卻能滿足可讀性要求。例如我們可以輕松看懂一段json,或者人肉構(gòu)造數(shù)據(jù)。 對(duì)于快速開發(fā)和web開發(fā)來說,可以提高開發(fā)效率,開發(fā)人員不用過多關(guān)注協(xié)議或者框架,專注業(yè)務(wù)。

我的觀點(diǎn)是:

1,對(duì)于業(yè)務(wù)穩(wěn)定,性能要求極高的場(chǎng)景,優(yōu)先使用 protocol buffers 等二進(jìn)制序列化協(xié)議

2,對(duì)于性能要求不高,業(yè)務(wù)變化頻繁的場(chǎng)景,優(yōu)先使用 json、xml 等文本協(xié)議