如何在Java中压缩JSON并在Javascript中解压缩

use*_*357 12 javascript java json

我有大量的数据从服务器发送到Javascript,这需要相当长的时间来加载.

我想知道如何在Javascript中实现服务器压缩和解压缩.我将不胜感激任何帮助.

Dro*_*out 12

要压缩String,您可以使用:

public static String compress(String str) throws IOException {
    if (str == null || str.length() == 0) {
        return str;
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    GZIPOutputStream gzip = new GZIPOutputStream(out);
    gzip.write(str.getBytes());
    gzip.close();
    String outStr = out.toString("UTF-8");
    return outStr;
 }
Run Code Online (Sandbox Code Playgroud)

GZIPOutputStream来自java.util.zip

大多数浏览器应该能够处理gzip压缩内容而无需手动解压缩.

文档:GZIPOutputStream

如果您在客户端使用Ajax进行数据采集,请参阅使用AJAX加载GZIP JSON文件.@hgoebl如上所述,有必要为您的响应设置标题.

  • 我同意第一部分.他不应该发送所有数据,而是使用某种分页或主从细节查找.但是您压缩的方式对于浏览器是不可见的.他只会得到无法解释的垃圾.您必须设置HTTP标头,以便浏览器知道有效负载已压缩. (3认同)