如何在Swift 4中使用整数作为键解码JSON?

时间:2018-11-08 07:12:36

标签: json swift swift4

enter image description here

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

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

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用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中的密钥进行解码,您现在应该可以识别出来。