когда я вызываю API и получаю ответ от сервера с Alamofire, я хочу использовать объект «data» из json
, эти данные поступают из API
{
"code": 200,
"hasError": false,
"data": [
{
"userSession": "43a1bd70-26bf-11e9-9ccd-00163eaf6bb4"
}
],
"message": "ok"
}
, и мне нужна карта data
к моему AuthModel
это мой AuthModel
:
struct AuthModel: Codable {
let userSession: String
enum CodingKeys: String, CodingKey {
case userSession = "userSession"
}
}
я закодировал эти строки, но это не работает:
if let responseObject = response.result.value as? Dictionary<String,Any> {
if let hasError = responseObject["hasError"] as? Bool {
guard !hasError else { return }
do {
let decoder = JSONDecoder()
let authModel = try decoder.decode(AuthModel.self, from: responseObject["data"])
} catch {
print("Parse Error: ",error)
}
}
}
это делаетне работает, потому что responseObject["data"]
не является NSData Type
Невозможно преобразовать значение типа '[String: Any]' в ожидаемый тип аргумента 'Data'