Выбор ответа Middle JSON и JSON Schema обновлено

integer и number

Вопрос

Поле price описано как {"type": "integer"}. Пройдёт ли значение 1500.0?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Да: число с нулевой дробной частью считается integer. Начиная с draft-06 JSON Schema считает 1.0 целым, потому что проверяет математическое значение, а не запись.

Варианты ответа

  1. Нет: число с точкой в записи считается number, даже если дробь нулевая
  2. Нет: integer в JSON Schema означает строку из цифр без точки
  3. Зависит от валидатора: в draft 2020-12 тип integer убрали из стандарта
  4. Да: число с нулевой дробной частью считается integerправильный ответ

Разбор

Начиная с draft-06 JSON Schema считает 1.0 целым, потому что проверяет математическое значение, а не запись. А вот 1500.5 не пройдёт. Тип integer в JSON Schema есть во всех актуальных версиях, но в самом JSON отдельного целого типа нет: это понятие JSON Schema.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.