当前位置: 首页 > 工具软件 > JSON.hpack > 使用案例 >

JSON学习笔记

易书
2023-12-01

JSON优势

没有比较,就没有话语权

JSON与xml比较,优势可以概括为以下几点

1.1可读性
JSON与XML旗鼓相当

1.2可扩展性
JSON与XML旗鼓相当

1.3.编码难度
JSON略胜一筹

1.4.解码难度
JSON碾压XML,可能原因为,我是弱鸡吧

1.5流行度
JSON新起之秀

1.6数据大小
JSON略胜一筹

1.7传输速度
JSON碾压XML

1.6和1.7的原因总结为JSON采用了压缩,下章节我整理下压缩算法

JSON压缩算法解析

压缩算法:CJSON和HPack

CSJON使用自动类型提取压缩JSON。它解决了最迫切的问题:需要不断重复使用关键名称

JSON.hpack是一种无损,交叉语言,以性能为重点的数据集压缩器。它可以减少高达70%的字符数,用于表示通用的同类集合。该算法提供多级压缩(从0到4)。0级压缩通过从结构中删除键(属性名称)来执行最基本的压缩,该结构在索引0上创建具有每个属性名称的头。通过假设存在重复的条目,下一级别可以减少更多的JSON大小。
结论
HPack 的压缩效率比较高,配合gzip效果可能更好;
如果 JSON 内容太少, CJSON 的资料可能反而会比较多
算法解析https://web-resource-optimization.blogspot.com/2011/06/json-compression-algorithms.html

前面说的都是JSON的优点,是带有感情的捧它

JSON数据压缩实现方法

1.使用Nginx的gzip对json数据的压缩
nginx配置:
 gzip  on;
gzip_min_length  1024;
gzip_buffers     4 8k;
gzip_types       text/plain application/x-javascript text/css application/xml application/json;
2.在代码中声明

由于json大多由动态服务器生成,在动态请求返回信息的头部加入content-type
java代码声明
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json");

为什么要用JSON数据格式?
 

1.数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小
2.易于解析这种语言, 客户端JavaScript可以简单的通过eval()进行JSON数据的读取(浏览器解析)
3.因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护。能够被大多数后端语言支持

 

 类似资料: