大量のデータをサーバーからJavascriptに送信していますが、ロードにかなりの時間がかかります。JavaでJSONを圧縮する方法とJavascriptで解凍する
私はサーバーでの圧縮とJavascriptでの圧縮をどのように実装できるのだろうかと思っていました。助けていただければ幸いです。あなたが使用することができ、あなたの文字列を圧縮する
大量のデータをサーバーからJavascriptに送信していますが、ロードにかなりの時間がかかります。JavaでJSONを圧縮する方法とJavascriptで解凍する
私はサーバーでの圧縮とJavascriptでの圧縮をどのように実装できるのだろうかと思っていました。助けていただければ幸いです。あなたが使用することができ、あなたの文字列を圧縮する
:
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;
}
GZIPOutputStreamは
ほとんどのブラウザは、手動解凍を必要とせずにgzipで圧縮されたコンテンツを扱うことができるはずjava.util.zipからです。
ドキュメント:GZIPOutputStream
あなたは、クライアント側でのデータ取得のためのAjaxを使用している場合Loading GZIP JSON file using AJAXを参照してください。応答のヘッダーは、@hgoebl
と設定する必要があります。
申し訳ありませんが、これはあなたのコードで行うべきではありません。 WebサーバーまたはTomcatまたはServletFilterがその作業を行う必要があります。 GZIPバイトISO-8859-1をエンコードするBTWは単に間違っています。 – hgoebl
彼はアプリケーションサーバーについて言及していますか?彼は明示的にいくつかのコンテンツを圧縮する方法を尋ねました。これが答えに提供されたものです。しかし、あなたは完全にISOの部分にしています。私はUTF-8に編集します。ありがとう – Dropout
それはまだ間違った方法であり、仕事のごく一部です。どのように彼はこのクライアント側を圧縮解除しますか? GZIP JavaScriptライブラリを使用しますか?これは、WebサーバーまたはTomcat/Jersey/RESTeasy/...およびクライアント側のWebブラウザによって透過的に処理される必要があります。 – hgoebl
ここをクリックhttp://json.org/java/ https://developer.mozilla.org/en-US/docs/JSON – elclanrs
エンコード/デコードを意味しましたか、圧縮/解凍を意味しましたか?私は混乱しています –
gzip圧縮を試してみてください。ほとんどのブラウザはデフォルトでこれを処理します。それだけでは不十分な場合は、試しに*送信するデータの種類を知り、このデータをさらに縮小するのを手助けする必要があります。 – GitaarLAB