我正在尝试在 iPad 上解析一个非常大的 json 文件。文件大小将在 50 到 100 mb 之间变化(有一个初始文件,每个月都会有一个新的完整数据集,将被下载、解析并保存到 coredata 中)
我正在为一家公司构建这个应用程序作为企业解决方案 - json 文件包含敏感的客户数据,它需要本地保存在 ipad 上,这样它甚至可以离线工作。当文件低于 20mb 时它可以工作,但现在数据集变得更大,我真的需要解析它。我在解析过程中收到内存警告,在第三次警告之后它就崩溃了。我有几个不同的核心数据实体,我只是设置来自 json 文件的所有值(当应用程序第一次启动时),一切都完成后,我正在做[context save]
.
我希望有人能给我一些关于如何处理如此大的文件的建议。我正在考虑将 json 文件拆分为几个较小的 json 文件,并可能在多个线程中解析它们,但我不知道这是否是正确的方法。我想一个大问题是整个文件都保存在内存中 - 也许有某种方式可以将它“流式传输”到内存中或类似的东西?
我正在使用 JSONKit ( https://github.com/johnezang/JSONKit ) 来解析文件,因为我已经读过它是最快的(也许有一个较慢的更容易记忆?)。
提前致谢。