У меня была проблема с анализом JSON в Swift 4.2.Вот следующий код, который показал ошибку во время выполнения.
Мои данные Json следующие, которые я получил от сервера.
{
code: 406,
message: "Email Address already Exist.",
status: 0
}
Я использую Codable для создания своей структуры следующим образом
struct Registration: Codable {
var code: Int
var status: Int
private enum CodinggKeys: String, CodingKey {
case code
case status
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
do {
self.code = Int(try container.decode(String.self, forKey: .code))!
} catch DecodingError.typeMismatch {
let value = try container.decode(Double.self, forKey: .code)
self.code = Int(value);
}
do {
self.status = try container.decode(Int.self, forKey: .status)
} catch DecodingError.typeMismatch {
let value = try container.decode(String.self, forKey: .status)
self.status = Int(value);
}
}
}
Но каждый раз, когда яошибка при разборе статус ключ.
Примечание. Я пытался проанализировать состояние в String, Int, Double, Decimal, NSInterger , но ни одна из них не работает.каждый раз, когда я получаю ту же ошибку.Ожидается декодировать UInt, но вместо этого найдено число.