在代码身上,用心去飞翔

你是我的小啊小code,怎么爱你都不嫌多

JSON压缩算法:CJSON和HPack

JSON已得到广泛应用,在很多应用场景下,你可能想进一步地压缩JSON字符串的长度,以提升传输效率,这里向你介绍两种常用的同构压缩算法:CJSON和HPack。

CJSON压缩示例

原始JSON:

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

CJSON压缩后:

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

HPack压缩示例

原始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]]

我目前正在使用的是基于HPACK算法的开源项目JSONP:https://github.com/WebReflection/JSONH,数据量越大,效果越明显,应用场景也更加有意义。

参考:http://web-resource-optimization.blogspot.com/2011/06/json-compression-algorithms.html


阅读更多
文章标签: json 压缩 CJSON HPACK
个人分类: Web
想对作者说点什么? 我来说一句

json 文件遍历压缩

admin812342330 admin812342330

2016-12-03 17:32:05

阅读数:260

没有更多推荐了,返回首页

不良信息举报

JSON压缩算法:CJSON和HPack

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭