Използвам някой друг API. Той ми връща JSON.
[{"ID": 123,
"Name": "My Game Api",
"Type": "Racing",
"Num": 0,
"Country": "England"
}]
Аз дефинирам struct за разбор на JSON, като този:
struct MyResult : Decodable{
var ID : Int?
var Name : String?
var Type : String?
var Num : Int?
var Country : String?
}
// Using..
let games = try JSONDecoder().decode([MyResult].self, from: data!)
Разбира се, xCode ми дава грешка: Членът на типа може да не се нарича "Type", тъй като би противоречал на израза "foo.Type".
Не написах API. Ако променя името на променливата Тип, Не мога да прочета стойността.
Мога ли да използвам Decodable Struct без да променям API?
Отговори:
0 за отговор № 1Можете да използвате по-долу:
struct MyResult : Decodable {
var ID : Int?
var Name : String?
var type : String?
var Num : Int?
var Country : String?
private enum CodingKeys : String, CodingKey {
case ID, Name, type = "Type", Num, Country
}
}
Опитайте се да следвате коментарите, публикувани от Hamish