我在一个 iPhone 项目中成功地使用了 yajl-objc和ASIHTTPRequest,该项目进行网络访问并下拉和解析 JSON 数据。默认情况下,ASIHTTPRequest 允许压缩 HTTP 响应,这很好,但我使用的是 YAJL 的流解析器功能,它理所当然地阻塞了压缩数据。我可以等到 HTTP 请求完成,然后解压缩并解析响应,但我在这里追求速度,并希望在下载时解析 gzip 压缩的数据。
是否可以即时解压缩数据,解析其中的 JSON,然后忘记那块压缩数据?
如果可以解决最后一部分,那么这个设置似乎会成为一个很棒的系统:
- YAJL 是最快的 JSON 解析器之一
- ASIHTTPRequest 简单且异步
- 响应主体可以压缩,节省在线流量
- 无需将整个树加载到受限设备内存即可解析 JSON
任何指导将不胜感激!