Swift Json 如何在没有顶级密钥和自动生成的密钥的情况下进行解码

2023-12-04

这对我没有帮助:Swift 4 解析 1+n 数量的 json 数字键

情况有所不同。

我有这个 JSON(稍微简化了一点):

{
        "1": {
            "name": "Tea room",
            "description": "A room for tea"
        },
        "2": {
            "name": "Playground",
            "description": "Here you can play all day long"
        },
        "3": {
            "name": "Kitchen",
            "description": "Hungry persons can go here"
        }
    }

我的问题是如何解码这个。我正在使用 Swift 版本 5。并且我正在尝试使用 JSONDecoder().decode();

键“1”、“2”和“3”实际上是 ID,由 API 生成。我不知道我会收到多少房间。我不知道他们将拥有什么密钥,但我需要知道密钥(ID)才能进一步进行操作。

我正在做这样的事情:

struct Rooms: Decodable {
  let id: Int; //THIS ONE IS MY PROBLEM
  let rooms: [Room]?;
}

struct Room: Decodable {
    let name: String?;
    let description: String?;
        
    private enum CodingKeys: String, CodingKey {
        case name, description;
    }
}

//Here trying to decode the JSON I got back.
JSONDecoder().decode([Group].self, from: jsonResult);

这让我很头疼:)

谁能帮助我朝正确的方向前进吗?


您可以将其解码为字典:[String: Room]:

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

Swift Json 如何在没有顶级密钥和自动生成的密钥的情况下进行解码 的相关文章

随机推荐

  • 为数组中的每两个元素创建对

    如何简洁地编写一个函数 以便它使用数组中的每对元素创建一个新的对象数组 假设元素数量为偶数 输入示例 input 1 42 55 20 3 21 Output output x 1 y 42 x 55 y 20 x 3 y 21 Edit
  • 单页根据当前位置隐藏/显示部分

    我正在开发单页网站 每个页面都组织成部分标签 每个部分都放置在彼此的顶部 我需要一种使用 jquery 的方法 根据当前位置 DOM 将隐藏其余部分 例如 按下 关于 链接将带您进入 关于 部分 我当前的 DOM 结构
  • 从标记模板文字函数参数推断类型

    我想从标记模板文字函数中的通用参数获取类型 但打字稿无法从参数 模板 中读取 它只是将类型读取为 TemplateStringsArray const tag
  • 函数中的 dplyr 管道

    我试图将 dplyr 管道放入函数中 但在多次阅读小插图以及整洁的评估之后 https tidyeval tidyverse org dplyr html 我仍然无法让它工作 Sample data dat lt read table te
  • SQL Server 无法对包含聚合或子查询的表达式执行聚合函数

    我的存储过程有问题 我收到错误 无法对包含以下内容的表达式执行聚合函数 聚合或子查询 这是我的存储过程中我认为发生错误的部分 SELECT column 1 column 2 SUM CASE WHEN column 2 NOT IN SE
  • 在 Erlang 中显示连接特定的 cookie

    当在节点上设置 cookie 时erlang set cookie 2可以为不同的节点设置不同的cookie 有什么方法可以显示哪个节点设置了哪个cookie Calling erlang get cookie 1不显示此信息 仅显示 默认
  • 将 JPanel 添加到 JScrollPane

    我正在尝试显示多个较小的JPanel on a JScrollPane 为了实现这一目标 我目前将它们添加到另一个JPanel并将此面板设置为scrollPane的ViewportView 有没有办法将面板直接添加到滚动窗格 不起作用的是
  • 如何在 Windows 中将套接字设置为阻塞模式?

    我正在做一些相当简单的跨平台 TCP 套接字编程 不幸的是 我发现在 Windows 上编译时 我的套接字默认是非阻塞的 而在 OS X 上它们默认是阻塞的 如何在 Windows 上强制套接字进入阻塞模式 它们通常默认为非阻塞模式还是有什
  • php数组唯一类型检查

    我在用array unique删除数组中的重复值 但是 问题是array unique检查重复项时不考虑数据类型 例如 a 1 true null false u array unique a var dump u Outputs arra
  • 按进程获取电池使用情况

    我有一个代码 在 C 中 用于管理在我的计算机中启动的所有进程 我用性能计数器用于查找在一个特定进程中链接的所有值的类 例如 此代码检索了 Firefox 的处理器时间使用情况 PerformanceCounter processorTim
  • 如何使用 BeautifulSoup 删除嵌套标签中的内容?

    如何删除嵌套标签中的内容BeautifulSoup 这些帖子显示了相反的情况来检索嵌套标签中的内容 如何使用 BeautifulSoup 获取嵌套标签的内容 and BeautifulSoup 如何从包含一些嵌套 的 列表中提取所有 我努力
  • 合并字典而不覆盖值

    这似乎是一个简单的任务 我正在尝试合并两个字典而不覆盖值但附加 a 1 1 1 2 2 2 3 3 3 4 4 b 3 5 5 4 6 6 元组数量 a 4 元组数量 b 2 这就是为什么我单独列出这些选项 因为它们会覆盖 all dict
  • 当隔离级别为 READ_UNCOMMITTED 时,无法看到正在运行的事务插入的行

    我有将行插入表的应用程序A同时 每个应用程序以批处理模式插入行 使用 JDBC 准备好的语句 每批使用一个事务 以避免在每次插入后重建索引 INSERT 每个批次中存在的行是完全独立的 事务仅用于优化 每个插入的行都会自动设置其主键 AUT
  • 以图像为背景的热图

    我正在尝试使用 R 制作热图 我正在尝试使用 ggplot2 我的实际数据框要大得多 但在这里我只包含一小部分 x lt c 502 9 512 1 716 6 759 7 776 1 776 5 736 1 271 3 304 7 279
  • 在NDK中使用资源文件

    我正在创建一个 NDK 库 它需要包含和访问二进制数据文件 dat 扩展名 我无法让已编译的库查看此文件 为了让事情变得更加困难 我在库包中执行此操作 我认为如果在我的 Android mk 文件期间 将此 dat 文件复制到我的应用程序的
  • 如何在ASP.NET中获取提示值?

    我想要做的是 当用户在提示框中输入文本并按下 确定 按钮时 提示框会将值发送回string prmt 如果他们取消了提示 则不会执行任何操作 Codes string prmt if ren gt 1 ClientScript Regist
  • 静态方法的目的是什么?我如何知道何时使用? [复制]

    这个问题在这里已经有答案了 我使用以下代码在 python 中遇到了未绑定方法错误 import random class Sample object def drawSample samplesize List sample random
  • 让 Rails 接受欧洲日期格式 (dd/mm/yyyy)

    我希望我的 Rails 应用程序接受格式为 dd mm yyyy 的日期字段的日期 在我的模型中 我尝试将日期转换为美国标准 我认为 Rails 将调用它的 Date parse 方法是期望的 before validation check
  • 为列表视图设置背景

    我有四个选项卡 其中包含四个列表视图 我想为每个列表视图设置背景 但每当我尝试添加背景时 它都会将图像放置在列表视图的每个单元格中 而不是列表后面
  • Swift Json 如何在没有顶级密钥和自动生成的密钥的情况下进行解码

    这对我没有帮助 Swift 4 解析 1 n 数量的 json 数字键 情况有所不同 我有这个 JSON 稍微简化了一点 1 name Tea room description A room for tea 2 name Playgroun