Ответ API выглядит следующим образом
"status": "SUCCESS",
"mobile": "8856969696",
"demo": [
{
"data1": "some"
},
{
"data2": "value"
}
],
"pay": "12",
}
и я пытаюсь разобрать вот так
struct demoModel : Codable {
let status: String?
let mobile: String?
let demo : [demoData]?
let pay: String?
enum CodingKeys: String, CodingKey {
case status = "status"
case mobile = "mobile"
case demo = "demo"
case pay = "pay"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
status = try values.decodeIfPresent(String.self, forKey: .status)
mobile = try values.decodeIfPresent(String.self, forKey: .mobile )
demo = try values.decodeIfPresent([demoData].self, forKey: .demo)
pay = try values.decodeIfPresent(String.self, forKey: .pay)
}
}
struct demoData : Codable {
let data1: String?
enum CodingKeys: String, CodingKey {
case data1 = "data1"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
data1 = try values.decodeIfPresent(String.self, forKey: .data1)
}
}
Здесь ответ содержит массив словаря с динамическими ключами. Пожалуйста, помогите мне с тем, как создать кодируемый для динамических ключей. Заранее спасибо.