如何在iOS中动态解析JSON

2023-11-30

我们使用了第三方服务,它提供了一个 JS 文件。 js文件发起http请求,得到一个json。我们解析json,得到了我们想要的内容,但是json格式总是在变化。

有没有办法解析 json 但不更新我们的应用程序?


不断更改架构听起来非常愚蠢,但无论如何,也许您可​​以尝试在云中的某个位置创建一个清单,将最新的架构关键字转换为您的应用程序可以理解的关键字?

基本上,我认为 JSON 中的信息是相似的(否则根本没有意义),只有关键字发生变化。您可以不断更新 JSON,将应用程序中使用的关键字转换为 Web 服务使用的最新关键字。

所以一个例子看起来像这样。想象一下,这是您在开发应用程序时所习惯的格式(这是应用程序所期望的格式)。

{
    "name" : "Henri",
    "title" : "iOS Developer"
}

现在,如果 Web 服务更改其架构并返回类似以下内容

{
    "key1" : "Henri",
    "key2" : "iOS Developer"
}

你应该有一个manifest.json,它可以像这样翻译

{
    "name" : "key1",
    "title" : "key2"
}

我希望您能明白我的意思,基本上您可以将翻译转移到云端,让您有机会在应用程序保持不变的情况下保持最新状态。因此,加载翻译后,您可以像这样访问数据

NSString *name = [actualJSON objectForKey: [manifestJSON objectForKey: @"name"]];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在iOS中动态解析JSON 的相关文章

随机推荐

  • 表示同一实体的名称

    以下定义声明区域 每个名称都在程序文本的某个部分中引入 称为 声明区域 这是程序中最大的部分 该名称是有效的 也就是说 该名称可以用作 指代同一实体的非限定名称 我们在下面的规范中有示例 int j 24 int main int i j
  • 如何获取Windows上每个线程的CPU使用率(win32)

    寻找 Win32 API 函数 C 或 Delphi 示例代码 它们可以告诉我线程 而不是进程的总时间 的 CPU 使用率 百分比和 或总 CPU 时间 我有线程 ID 我知道 Sysinternals Process Explorer 可
  • 如何使用phpmyadmin将Excel文件导入mysql数据库

    我想通过 phpmyadmin 导入选项从 Excel 工作表格式 xls 导入到 mysql 数据库 据我所知 我们需要先将格式转换为csv格式 然后才能导入到phpmyadmin 但不幸的是 如果我更改为 csv 某些特殊字符或符号将变
  • 在固定不同 CPU 的 2 个线程之间传递一些变量的最佳方式

    我有一个问题需要了解是否有更好的解决方案 我编写了以下代码 将一些变量从编写器线程传递到读取器线程 这些线程固定到共享相同 L2 缓存的不同 CPU 禁用超线程 writer thread h struct a few vars uint3
  • 如何访问位图图像中的每个字节

    假设我有一个位图图像 是否可以迭代图像中的所有单个字节 如果是 怎么办 我找到了这个 http channel9 msdn com forums TechOff 108813 Bitmap to byte array 说你可以使用 Memo
  • 按对象属性对(对象)列表进行排序

    我正在努力实现一些已经给出答案的事情 但它在c 我对此一无所知c 所以我正在寻找 vb net 的替代品 我制造了一个class called BomItem它有几个属性 如数量 描述等 我添加这些BomItems into a List
  • 如何删除会话cookie?

    如何通过 jQuery 动态删除会话 cookie 而无需手动重新启动浏览器 我在某处读到会话 cookie 保留在浏览器内存中 并且在浏览器关闭时将被删除 sessionFooCookie is session cookie this c
  • @ManagedBean(name="foo") 在 EL #{foo} 中无法按其名称使用

    我试图在 JSF2 中使用应用程序范围的 bean 但由于某种原因它总是null在我的请求作用域 bean 中 这是我正在使用的代码 应用程序作用域 bean ManagedBean eager true name applicationT
  • 我使用 for 为数组分配一个值,但是当我打印数组时,它只使用整个数组中的最后一个值

    我使用大小为 8 8 的数组类创建了一个数组 并使用 fill 用虚拟对象填充它 之后我创建了一个 for 并分配了值 但是当我打印数组时 所有字段都有相同的值 var gridSize 8 const colorname Red Oran
  • Echarts如何在条形图上的特定条形之间添加垂直虚线?

    我正在使用 Echarts 并创建了一个条形图 我正在尝试添加两条垂直虚线来分隔Source3 and Source4和另一条垂直虚线以显示分离SourceSix and SourceSeven 我试过乱搞markLine到一个酒吧并添加一
  • R - 生成二进制向量的所有可能的成对组合

    我正在寻找一种智能方法来生成长度为 n 的两个向量的所有成对组合 其中只有一个值不为零 现在我正在做一些非常绝望的事情 循环遍历每个组合 n 这就是我所追求的 例如 n 3 1 2 3 1 1 0 0 2 0 1 0 1 1 0 0 2 0
  • ChartJS 3.0 中的generateLegend() 发生了什么?

    我的理解是3 0版本已经贬值了 是否有其他方法可以轻松完成图例的定制 是的 有一种非常简单的方法可以使用以下命令向 ChartJS 3 5 添加自定义图例plugins 下面是它如何工作的示例 创建 DOM 结构以支持新的图例和 Chart
  • 如何在Python中将日期时间转换为字符串?

    我想用这段代码制作折线图 df pd DataFrame from dict sentencess sentencess publishedAts publishedAts hasil sentimens hasil sentimens d
  • 将对 Laravel Controller 的请求路由到正在运行的 WebSocket 服务器

    情况 有一个长时间运行的任务需要异步启动 此任务的细节实际上并不是那么重要 基础知识是要配置多个虚拟机和复杂的网络设置 并且这是由将在不同服务器上运行的 python 脚本处理的 我们决定使用 WebSockets 在 Web 服务器和客户
  • 在Dispose(bool)方法实现中,不应该将成员设置为null吗?

    没有任何讨论的指南 注释 文章IDisposable模式建议应该将内部成员设置为null in the Dispose bool 方法 特别是如果它们是占用内存的野兽 在调试内部基准测试工具时 我开始意识到它的重要性 过去发生的情况是 有一
  • 验证 XSD 本身

    谁能告诉我如何验证 XSD 文件本身 不是针对 XSD 的 XML 我检查了许多论坛和网站 包括 SO 其中大多数都引用了某些或其他在线验证器 但这对我们来说不是一次性检查 我们的应用程序涉及使用 XSD 的 XSL 转换 因此我们需要确定
  • 检测两个数字相加时是否发生无符号整数溢出

    这是我的实现 用于检测尝试添加两个数字时是否发生无符号整数溢出 我的系统上 unsigned int UINT MAX 的最大值是 4294967295 int check addition overflow unsigned int a
  • 允许 VB.NET 应用程序将 Excel 文件转换为数据表

    我的 VB NET 应用程序目前允许我将 CSV 文件转换为数据表 这要归功于以下提供的代码David在这个问题中我发布了 上一个问题 现在我尝试允许将 XLSX 文件导入到数据表中 目前代码如下所示 Private Function Co
  • 在 PostgreSQL 中,关于 citext 性能的奇怪问题?

    In PostgreSQL 手册它说citext只是一个实现的模块TEXT调用的数据类型LOWER citext模块提供了不区分大小写的字符串类型 citext 本质上 它在比较值时在内部调用 lower 否则 它的行为几乎与文本完全相同
  • 如何在iOS中动态解析JSON

    我们使用了第三方服务 它提供了一个 JS 文件 js文件发起http请求 得到一个json 我们解析json 得到了我们想要的内容 但是json格式总是在变化 有没有办法解析 json 但不更新我们的应用程序 不断更改架构听起来非常愚蠢 但