JSON - 优化

问题描述 投票:0回答:2

我工作的一个门户网站,在那里我的方案有哪些是由服务器发送大尺寸的JSON字符串(1MB)。我们正在使用的WebSocket协议。显然,这是花费很长的时间来在客户端的浏览器加载。

我曾尝试使用gzip压缩在服务器端的JSON并尝试使用Javascript功能来解压。压缩是不错,但我得到了一些错误,而使用JS解压缩。我用这个库http://jsxgraph.uni-bayreuth.de/wp/2009/09/29/jsxcompressor-zlib-compressed-javascript-code/

任何人都可以请建议,如果有另一种方式?

附:由于我使用的WebSocket,所以我不能依赖于浏览器的减压。

json compression
2个回答
1
投票

感谢您与澄清响应。我想我现在看到的问题。总之,请记住,zlib的!= gzip的,不完全是。一般情况下,Gzip已是zlib的数据,但在一些额外的头。 JSXCompressor希望zlib的数据,但你从Java发送gzip的数据。为了进一步解释:

在你的网页链接到介绍JSXCompressor,示例服务器端代码使用PHP的gzcompress功能。从文档:“此功能压缩使用zlib数据格式给定的字符串。” (强调他们的。)文档还建议使用gzencode如果gzip的是真正需要的(这不是在这种情况下)。

下面是Java的GZIPOutputStream类的文档。需要注意的是gzip格式的此类输出数据。它看起来像解决方案是一个攀登更高级别的类层次结构,并充分利用DeflaterOutputStream类。


0
投票

我gzip压缩它后,没有编码的(Base64)的字符串,这就是为什么JS的抱怨。做Base64编码后,其优良的Java的结束,即使GZIPOutputStream工作。我使用从这里jsxcompressor的非最小化版本:

http://sourceforge.net/apps/trac/jsxgraph/export/2808/trunk/JSXCompressor/

© www.soinside.com 2019 - 2024. All rights reserved.