Это не отвечает на вопрос.
спользовании протоколов Swift4 и Codable у меня возникла следующая проблема - похоже, нет способа разрешитьJSONDecoder
пропустить элементы в массиве. Например, у меня есть следующий JSON:
[
{
"name": "Banana",
"points": 200,
"description": "A banana grown in Ecuador."
},
{
"name": "Orange"
}
]
ИКодируемый структура:
struct GroceryProduct: Codable {
var name: String
var points: Int
var description: String?
}
При декодировании этого JSON
let decoder = JSONDecoder()
let products = try decoder.decode([GroceryProduct].self, from: json)
Результирующийproducts
пустой. Что и следовало ожидать, из-за того, что второй объект в JSON не имеет"points"
ключ, аpoints
не является обязательным вGroceryProduct
структура.
Вопрос в том, как я могу позволитьJSONDecoder
«пропустить» недействительный объект?