2010-06-20 76 views
6

我正在构建一个iPhone应用程序,它将发送和接收来自服务器的大量数据。我正在使用JSon来获取数据。 我想知道是否可以在接收到的数据上使用某种压缩方式来尝试加快处理速度。如果是这样,哪种类型的压缩最适合JSon,我可以在哪里找到更多信息?iPhone,JSon和压缩

谢谢,

回答

2

晚会派对,但只是在任何人寻找。 使用ASIHTTPRequest,它内置了对gzip压缩的支持。这将节省处理解压的开销。 gzip at ASIHTTPRequest

0

iPhone支持ZLib。但是我认为让你的服务器支持压缩作为NSURLRequest的更好的主意是接受来自服务器响应的gzip编码。由于JSON是可序列化的,因此这可能是您的最佳选择。

With zlib您可以使用客户端的压缩。

0

JSON本身并不关心你在数据上使用什么样的压缩,所以你可以自由选择最适合数据的压缩方案,并提供最佳的大小/性能。

但是,JSON期望所有数据都是UTF-8格式,因此您需要对压缩数据进行编码,例如,通过使用base64编码。

0

至少有两种算法用于JSON compression(CJson & HPack)。

如果客户端设备支持gzip,那么使用JSON压缩没有任何好处。当同时使用:gzip压缩& json压缩时,改进可以忽略不计。当禁用或不支持gzip时,使用JSON压缩确实有意义。

0

我认为如果您太关心数据大小,使用gzip压缩的HPack(也称为JSONH)压缩算法是一个不错的选择。 我试图与对象数组压缩简单的JSON数据,我使用的压缩的两种方法 -

  1. gzip的
  2. JSONH + gzip的

JSONH + gzip的的结果是更7%左右压缩比只使用gzip的结果。在我的情况下,这是一个重要的数字,我继续混合实施。