我有大量的數據從服務器發送到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是java.util.zip
大多數瀏覽器應該能夠處理gzip壓縮的內容,而不需要手動解壓。
見Loading GZIP JSON file using AJAX如果你使用Ajax對客戶端進行數據採集。有必要設置您的迴應標題爲@hgoebl
提到。
很抱歉,這不應該在您的代碼中完成。 Webserver或Tomcat或ServletFilter應該完成這項工作。 BTW編碼GZIP字節ISO-8859-1簡直是錯誤的。 – hgoebl
他提及任何應用程序服務器嗎?他明確地問過如何壓縮一些內容,這就是答案中提供的內容。然而,你完全正確的ISO部分。我將它編輯爲UTF-8。謝謝 – Dropout
它仍然是錯誤的方式,只有很小的一部分工作。他如何解壓這個客戶端?使用GZIP JavaScript庫?這應該通過Webserver或Tomcat/Jersey/RESTeasy/...和客戶端的Web瀏覽器進行透明處理。 – hgoebl
請看這裏http://json.org/java/,這裏https://developer.mozilla.org/en-US/docs/JSON – elclanrs
你的意思是編碼/解碼還是你的意思是壓縮/解壓?我很困惑 –
嘗試使用gzip壓縮,因爲大多數瀏覽器會默認處理它。如果這還不夠,我們需要知道您發送的數據類型*嘗試*並幫助您進一步縮減這些數據。 – GitaarLAB