如您所见,右侧数据具有诸如“ 7”,“ 8”等的键。 现在我知道这些不是完全“整数”,因为它们是String中的数字。 但是,在解码它们时,我需要使用该键名作为变量名。 但是,我们不能将数字用作变量名。
在这种情况下我该怎么办?我该如何解码?
重新创建数据集,使其没有数字作为键是否更好?但是,当人们无法控制数据集时,他们会做什么?
整个代码太长且无关紧要,所以我只是截屏了。 如果需要,您可以在此处查看JSON数据 https://api.myjson.com/bins/11r19i
答案 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
中的密钥进行解码,您现在应该可以识别出来。