找回密码
 立即注册

QQ登录

只需一步,快速开始

nobt

论坛元老

86

主题

4197

帖子

4949

积分

论坛元老

积分
4949

微信认证勋章

nobt
论坛元老   /  发表于:2023-8-18 09:42  /   查看:875  /  回复:2
1金币

用法分享


SpreadJS导出的JSON体积,往往内容越多体积越大,当体积越大时达到几兆、十几兆,将JSON保存至后端会比较慢

可以利用压缩JSON字符串体积的形式,提升接口传输速度,

1. 往后端保存时,利用pako.js的压缩,搭配后端的解压缩
  1. pako.gzip(JSON.stringify(json), {to: "string"})

  2. try {
  3.     unCompressJson= GzipUtils.unCompress(json); // 将前端压缩的JSON解压
  4. } catch (IOException ioe) {
  5. }
复制代码



2. 加载JSON时,后端压缩,前端利用pako.js解压缩


  1. try {
  2.     compressJson = GzipUtils.compress(json); // 非压缩的JSON字符串 压缩
  3. } catch (Exception e) {
  4. }

  5. JSON.parse(pako.ungzip( 后端的压缩JSON 字符串, { to: 'string' } ));
复制代码




附件中包括前后端工具类:
压缩传输.zip (14.41 KB, 下载次数: 63)

最佳答案

评分

参与人数 1金币 +888 收起 理由
Joestar.Xu + 888 赞一个!

查看全部评分

2 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-18 09:42:49
来自 3#
感谢分享~
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
陈皮
中级会员   /  发表于:2023-8-18 09:45:49
2#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部