У меня есть DataModel
тип данных:
class DataModel: Decodable {
var data : Any?
var name : String?
}
json-сервер:
{
"data":"success",
"name":"john"
}
or
{
"data": {
"result": {
"shopcode": 0,
"shopname": ""
}
},
"name": "john"
}
тип свойства data
я не уверен, иногда бывает [String: Any]
или String
или null
.
Я ищу какой-то ответ, но он мне не нужен, поэтому, пожалуйста, не задавайте вопрос [дубликат]
Как декодировать свойство с типом любого произвольного словаря JSON в декодируемом протоколе Swift 4
Any при декодировании JSON с помощью Codable?
Как это решить? Есть ли способ разрешить декодеру свойств данных [String: Any]
, String
, nil
?
английский не мой родной язык; пожалуйста извините за опечатки
Any
нельзя использовать в протоколеCodable
, так как он требует предварительной информации о типе. проверить ответ - person staticVoidMan   schedule 04.04.2018data
выглядит в обоих случаях: какString
и как[String:Any]
- person staticVoidMan   schedule 04.04.2018Codable
опирается на конкретные типы. Если JSON содержит разные типы для ключа, вам нужно написать собственный инициализатор, который обрабатывает случаи. - person vadian   schedule 04.04.2018