如何优化很长的JSON数据?

1

现在主流的网络请求中都采用JSON作为其数据交互格式,这主要是因为JSON有以下优势:

  1. 数据格式简单,易于读写,格式都是压缩的,占用带宽小;

  2. 易于解析,客户端JS很容易JSON数据进行解析和编辑;

  3. 支持大多数后端语言,大大简化了服务端和前端交互时的代码开发量,且易于维护;

但如果在开发过程中,把很长很大的JSON数据在前后端传输,那就说明设计工作没做好,应该尽量避免这种数据传输,但也可以从下面几个方面进行下优化:

2

我们知道,JSON作为一种轻量级的数据交换格式,现在被广泛应用,特别是在API层,返回数据格式基本上都是JSON。但是,JSON字符串如果过长,那在网络传输中也存在耗时的,站在性能角度我们需要合理优化JSON。

JSON优化建议

1、服务器端开启GZip压缩

主流的服务端都支持GZip压缩,对于一般的纯文本内容GZip压缩率在35%以上,这样做的好处也很明显:

  • 减少JSON输出大小,网络传输速度更快;

  • 节省带宽。

3

作为JSON这个规范,要在大小上优化,空间很有限,所获得的收益也很低,但是也不是没有优化空间,可以从下面几个角度入手:

1.优化传输大小,打开服务器的gzip压缩即可,但会略微占用更多CPU。

2.使用更短的key,为了可读性,一般不建议这么做。

3.开启重复引用和循环引用。Java实现的一些JSON库支持重复和循环引用,可以缩小JSON文本大小。比如在传输的数据中出现相同的对象时,fastjson默认开启引用检测将相同的对象写成引用的形式.

如图所示:

4

1,开启gzip,压缩率很高,即便是很长的文本,在网络中传输量也很小 。

2,不建议分次请求,除非是业务需要。连接次数过多,加大了并发的压力。

3,提醒用户点击的做法可以通过按钮反馈或loading条来做。

4,如果有可能,考虑提前预读你可以这样,在一个隐藏的 iframe 里面请求服务器,返回值是这样的: <script> parent.notifyDataArrive(YOURS_JSON_DATA); </script>

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章