У меня есть такая структура:
struct OrderLine: Codable{
let absUrl: String?
let restApiUrl : String?
let description : String?
let quantity : Int?
let subscription: Subs?
let total: Double?
}
struct Subs: Codable{
let quantity: Int?
let name: String?
}
и некоторые OrderLine
имеют в ответе сервера
"subscription": {
"quantity": 6,
"name": "3 Months"
},
но иногда он имеет String
тип:
"subscription": "",
без subscription
все работает нормально, но с ошибкой
CodingKeys(stringValue: "subscription", intValue: nil)],
debugDescription: "Expected to decode Dictionary<String, Any>
but found a string/data instead.", underlyingError: nil)
поэтому мой вопрос - как я могу декодировать или String?
со значением ""
, или Subs?
без каких-либо ошибок?
постскриптум если я расшифрую его как String?
, то получу ошибку debugDescription: "Expected to decode String but found a dictionary instead.", underlyingError: nil)