我正在解码一个 JSON 结构,如果它无法解码,此时在我的错误检查中,这意味着服务器响应中缺少一个字段,我想向用户显示该字段。
解码此结构时:
struct UserResponseObject: Decodable {
let message: String
let data: User
}
这里
do {
let responseObject = try createDecoder().decode(UserResponseObject.self, from: jsonData)
//print("RESPONSE MESSAGE: ", responseObject.message)
//print("GET USER DATA: ",responseObject.data)
completion!(.success(responseObject.data))
} catch let error as NSError {
print("failure to decode user from JSON")
completion!(.failure(error))
}
如果没有字段 .data,我想在 catch 块中的 responseObject.message 中返回消息。但是我不允许将响应重新解码到这个结构中。
struct ErrorObject: Decodable {
let message: String
}
当第一次解码失败时,我应该如何尝试获取消息。谢谢