Я пытаюсь декодировать ошибки из HTTP-запроса, используя JSONDecodable
, но это не удается.
Я создал пользовательский класс и расширил его с помощью Decodable
.
class CustomError: Decodable {
// Properties
var errors: [String: [String:String]]?
var message: String?
}
и использовал следующую строку для декодирования, которая возвращает nil
:
let jsonError = try? JSONDecoder().decode(CustomError.self, from: data!)
Но я получаю следующий результат, используя JSONSerialization
:
let jsonError = try? JSONSerialization.jsonObject(with: data!, options: .mutableContainers)
Результат:
Optional({
errors = {
email = (
"The email has already been taken."
);
};
message = "The given data was invalid.";
})
Есть какие-либо причины, по которым Decodable
не работает?