正如你所看到的,右手边的数据有像“7”、“8”等键......现在我知道这些不是“整数”,因为它们是字符串中的数字。但是,当我解码它们时,我需要使用该键名作为变量名。但是,我们不能将数字作为变量名。
在这种情况下我该怎么办?我怎样才能解码这个?
重新创建数据集以便它没有数字作为键是否更好?但是,当人们无法控制数据集时,他们会怎么做?
整个代码太长而且无关紧要,所以我只是截图了。如果需要,您可以在此处查看 JSON 数据 https://api.myjson.com/bins/11r19i
你可以用它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"
}
}
Run Code Online (Sandbox Code Playgroud)
它将解码每个里面的那些键case,你现在应该能够识别了。