Если я получил Json, как это:
{ "i": [ "0", [123]] }
Есть ли какой-нибудь возможный способ декодировать 2D-массив выше?
class ModelA: Codable{
var i: [String]?
var temp: [Any] = []
enum CodingKeys: String, CodingKey {
case i = "i"
}
required init(from decoder: Decoder) throws {
let value = try decoder.container(keyedBy: CodingKeys.self)
temp = try value.decode([Any].self, forKey: .i)
}
}
Использование:
public func printJsonData(){
let jsonData: Data = """
{
"i": [ "0", [123]]
}
""".data(using: .utf8)!
if let model = try? JSONDecoder().decode(ModelA.self, from: jsonData){
print(model.temp)
}else{
print("no data")
}
}
Я пытался, что массив [Любой] здесь успешно работает, но не могу найти какой-либо метод для преобразования в 2D массив.Если кто-то знает, как решить эту проблему, или знает, что это невозможно в Swift4.2, пожалуйста, сообщите мне.Спасибо!