我尝试使用JSONDecodable
解码HTTP请求中的错误,但失败了。
我创建了一个自定义类,并使用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
无效的原因?
答案 0 :(得分:1)
您需要执行此操作,因为您有错误的值数组(电子邮件):
var errors: [String: [String]]?