【问题标题】:How to decode JSON with integer as key in Swift 4?如何在 Swift 4 中以整数为键解码 JSON?
【发布时间】:2018-11-08 07:12:36
【问题描述】:

如您所见,右侧数据具有“7”、“8”等键... 现在我知道这些不是“整数”,因为它们是字符串中的数字。 但是,当我解码它们时我需要使用那个键名作为变量名。 但是,我们不能将数字作为变量名。

在这种情况下我该怎么办?我该如何解码?

重新创建数据集以使其没有数字作为键是否更好?但是,当人们无法控制数据集时,他们会怎么做?

整个代码太长而且无关紧要,所以我只是截屏了。 如果需要,可以在此处查看 JSON 数据 https://api.myjson.com/bins/11r19i

【问题讨论】:

  • 顺便说一句,您知道/想知道您的代码中所有可能的巴士号码吗?如果您不在乎,可以将[Bus] 替换为[String: [MinType]] 字典。
  • 检查答案@Leonard

标签: json swift swift4


【解决方案1】:

您可以使用CodingKey 来实现这一点。

struct bus: Codable {
    var one: String?
    var two: String?
    var three: String?
    enum CodingKeys: String, CodingKey {
        case one  = "1"
        case two = "2"
        case three = "3"
    }
}

它将解码每个case中的那些密钥,你现在应该可以识别了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多