Swift 中的大 JSON 文件 [已关闭]

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

我需要一个文件“citylist.json”的帮助。 该文件有 29 MB,如果我尝试将其添加到我的 Swift 项目中,我的笔记本电脑需要 10 分钟才能加载该文件。

是否有任何解决方案可以使用 Swift 处理大型 JSON 文件? 我需要在线或远程使用这个 JSON 文件。

我正在使用天气 API,当我需要通过输入名称来查找城市时,有时应用程序会崩溃,因为您编写的内容与天气 API 不符。 为我提供 API 的公司建议每个人都需要使用城市代码来查找城市,并且在我的 JSON 文件中包含包含该代码的所有城市的列表。 这就是我需要使用这个文件的原因。

ios json swift
1个回答
1
投票

JSON序列化很慢。有两种可能的解决方案。

  1. 使用数据库:

    • 为您的应用程序添加数据库支持
    • 将 JSON 转换为数据库格式
    • 通过数据库而不是 JSON 进行搜索
  2. 根据城市名称的前两个(或三个)字母将一个 JSON 拆分为多个文件。

假设您有带结构的 JSON:

{
    cities: [
      ...,
      Berlin: {},
      ...,
        Monako: {},
        Moscow: {},
        ...,
    ],
}

您可以将其拆分为许多具有两个字母名称的 JSON 文件,例如文件

mo.json
:

{
    cities: [
      ...,
        Monako: {},
        Moscow: {},
        ...,
    ],
}

这样您可以加快序列化过程。

  • 您在捆绑包中搜索适当的文件
  • 您搜索符合您查询的所有城市
  • 例如:查询
    Mos
    将搜索
    mo.json
    并显示
    Moscow
    ,但不显示
    Monako
© www.soinside.com 2019 - 2024. All rights reserved.