У меня есть такая кодируемая структура
struct User: Codable {
let id: String
let registrationId: String
let firstName: String?
let lastName: String?
}
Теперь ответ от сервера содержит массив, подобный этому
[
{
"id": "1",
"registrationId": "r1",
"firstName": "Jon",
"lastName": "Doe"
},
{
"id": "2",
"registrationId": null,
"firstName": null,
"lastName": null
},
{
"id": "3",
"registrationId": null,
"firstName": null,
"lastName": null
},
{
"id": "4",
"registrationId": "r4",
"firstName": "Jon",
"lastName": "Snow"
}
]
Я хочу проанализировать это как [Пользователь], но только те, у кого есть действительный (не нуль) registrationId
. Я знаю, как быстро разобрать JSON. Но проблема здесь в том, что из-за двух недопустимых данных в середине весь ответ будет иметь ошибку декодирования. Но я хочу проанализировать его как массив [User]
, содержащий действительные (в данном случае первый и последний объект).
Любые подсказки или помощь очень приветствуются.