使用 NSJSONSerialization 反序列化压缩的 JSON 文件

Posted

技术标签:

【中文标题】使用 NSJSONSerialization 反序列化压缩的 JSON 文件【英文标题】:Deserializing a compressed JSON file using NSJSONSerialization 【发布时间】:2013-06-25 18:23:28 【问题描述】:

我想使用 NSJSONSerialization 的方法 JSONObjectWithStream:options:error 解析压缩的 JSON 文件。如何将文件即时解压缩为流并直接在 JSONObjectWithStream:options:error 中使用?

【问题讨论】:

你的意思是gzip压缩吗? 是的,gzip 或任何其他压缩。我对压缩方案很灵活。 为什么不能只将“Content-Encoding”或“Transfer-Encoding”设置为gzip? @Jeffery Thomas,我当前的后端 (parse.com) 仅允许存储最大 10 MB 的文件大小,我未压缩的 JSON 文件约为 25 MB,压缩后为 4 MB。这就是为什么我想将它们作为压缩文件存储在服务器上。 显然理想的是流解压缩器。但是,不知道是否有可用的。否则,您需要解压缩然后解析生成的 NSData,作为两个单独的步骤。有几个可用的解压缩包。 【参考方案1】:

压缩包

NSDataCategory 有点粗糙,但它可以处理膨胀的 gzip 文件。

PK 邮编

ZipArchive 和 SSZipArchive 将解压缩压缩文件。

【讨论】:

以上是关于使用 NSJSONSerialization 反序列化压缩的 JSON 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSJSONSerialization 解析 JSON - 抛出 NSException

NSJSONSerialization 拆箱 NSNumber?

使用 NSJSONSerialization 反序列化压缩的 JSON 文件

如何使用 NSJSONSerialization

使用 NSJSONSerialization 将 NSMutableDictionary 转换为 JSON 会返回不同的结果

在 iOS 中使用 NSJSONSerialization 时是不是有数据限制?