json壓縮算法: CJSON和HPack


JSON和CJSON

CSJON使用自動類型提取壓縮JSON。解決重復key名稱問題。

[
  { // This is a point
    "x": 100, 
    "y": 100
  }, { // This is a rectangle
    "x": 100, 
    "y": 100,
    "width": 200,
    "height": 150
  },
  {}, // an empty object
]

可以被壓縮為

{
  "templates": [ 
    [0, "x", "y"], [1, "width", "height"] 
  ],
  "values": [ 
    { "values": [ 1,  100, 100 ] }, 
    { "values": [2, 100, 100, 200, 150 ] }, 
    {} 
  ]
}

JSON和HPack

hpack是一個無損、跨語言、注重性能的數據集壓縮程序。它能夠將用於表示泛型同構集合的字符數減少70%。
此算法提供了多個級別的壓縮(從0到4)。
級別0壓縮通過從結構中刪除鍵(屬性名)來執行最基本的壓縮,該結構在索引0上創建一個具有每個屬性名的頭。下一個級別允許通過假設存在重復的條目來進一步減小JSON的大小。

[{
  name : "Andrea",
  age : 31,
  gender : "Male",
  skilled : true
}, {
  name : "Eva",
  age : 27,
  gender : "Female",
  skilled : true
}, {
  name : "Daniele",
  age : 26,
  gender : "Male",
  skilled : false
}]

hpack壓縮后

[["name","age","gender","skilled"],["Andrea",31,"Male",true],["Eva",27,"Female",true],["Daniele",26,"Male",false]]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM