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

enum в схеме

Вопрос

Статус заказа может быть только new, paid или cancelled. Как это выразить в схеме?

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

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

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

Коротко

Правильный ответ: {"type": "string", "enum": ["new", "paid", "cancelled"]}. enum перечисляет допустимые значения. pattern без якорей ^...$ пропустит и unpaid, потому что ищет совпадение в любом месте строки.

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

  1. {"type": "string", "pattern": "new|paid|cancelled"}
  2. {"type": "string", "enum": ["new", "paid", "cancelled"]}правильный ответ
  3. {"type": "array", "items": ["new", "paid", "cancelled"]}
  4. {"oneOf": "new, paid, cancelled"}

Разбор

enum перечисляет допустимые значения. pattern без якорей ^...$ пропустит и unpaid, потому что ищет совпадение в любом месте строки. Массив здесь вообще другой тип, а oneOf принимает массив схем, а не строку.

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

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