2025年json数据压缩

json数据压缩json 是一种非常简单 易读的数据结构 通常我们在做开发时 会选取 json 作为数据传输格式 同时为了提升性能 降低带宽 我们一般会对 json 数据进行压缩 今天我们就来谈谈各种压缩方法 1 常规压缩 默认的 json 数据是带有换行的 所以最简单的压缩方法是将 json 中的回车换行去掉 压缩成一行字符串

大家好,我是讯享网,很高兴认识大家。

json是一种非常简单、易读的数据结构。通常我们在做开发时,会选取json作为数据传输格式。同时为了提升性能、降低带宽,我们一般会对json数据进行压缩。今天我们就来谈谈各种压缩方法。

1、常规压缩:

默认的json数据是带有换行的,所以最简单的压缩方法是将json中的回车换行去掉,压缩成一行字符串。

测试:找了一个大的json字符串,原始大小为1.1m,去掉回车换行压缩成一行后,大小变为了360k。

在线压缩工具:https://www.bejson.com/

其次,我们还可以将json中的key变短,设置可以是无意义的符号(只要我们规定好含义即可),这样也能减少json大小。

2、使用gzip、deflate算法压缩:

json本身就是一个文本信息,所以我们可以使用gzip、deflate等算法对其进行压缩,它们都是使用哈弗慢编码的一个无损数据压缩算法,对文本内容压缩的压缩比很高,基本在80%以上。大多数浏览器也都是使用这两种方式对http协议中的响应实体进行压缩。

这里不过多举例子,有兴趣的同同学可以自行尝试。

3、CJSON和HPack压缩算法:


讯享网

这两种都是针对json数据结构压缩的算法。其主要思路都是将原始json数据抽离成 Template 与 Value,节省掉重复的 "Key 值"。1)cjson压缩:

例如,一个原始json:

[ { "x": 100, "y": 100 }, { "x": 100, "y": 100, "width": 200, "height": 150 }, {}, ] 

讯享网

使用cjson压缩后:

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

2)hpack压缩:

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

压缩后:

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

参考:

https://blog.csdn.net/ZYC88888/article/details/

小讯
上一篇 2025-02-15 07:20
下一篇 2025-01-12 10:12

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24467.html