JSON学习笔记
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
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格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护。能够被大多数后端语言支持
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)