Подтвердить что ты не робот

Используйте nil вместо опции (<null>) для нулевого значения в JSON

В Swift NSJSONSerialization.JSONObjectWithData используется значение Optional(<null>) для null в JSON. Можно ли вместо синтаксического анализа использовать nil (т.е. Сбросить поля со значениями null, потому что Swift Dictionary не позволяет значение nil)?

4b9b3361

Ответ 1

NSJSONSerialization использует объекты NSNull, и то, что вы видите; вы можете просто проверить их по сравнению с NSNull().

Ответ 2

Optionnal() - значение NSNull. Вы можете избежать ошибок, подобных этому:

if !(myField is NSNull) {
    //Whatever you want to do with myField when not null
} else {
    //Whatever you want to do when myField is null
}

Ответ 3

Я бы сказал, что это проблема с вашей схемой JSON. null и string - разные типы вещей в JSON. Тот факт, что ваш ключ может иметь значение, которое иногда является нулевым, а иногда мне кажется, что строка не соответствует строгой схеме.

Хороший дизайн будет иметь ключ, который либо не будет там, либо он там, его значение гарантированно будет строкой. Доступ к клавише словаря в Swift дает необязательный параметр nil, если ключ отсутствует, или значение, если ключ есть (в этом случае вы знаете его как строку), который соответствует тому, что вы хотите.