← Все гайды

Пример JSON по схеме: как сгенерировать тестовый документ

· 2 мин чтения

JSON Schema

Как получить пример документа по JSON Schema для тестов, моков и документации — с учётом обязательных полей, перечислений и форматов.

Пример документа нужен постоянно: тестировщику — для первого запроса, разработчику — для мока, аналитику — для постановки. По JSON Schema его можно получить автоматически.

Как получить пример

  1. Откройте схему в редакторе JSON Schema.
  2. Справа выберите вкладку Пример — документ строится по мере правки схемы.
  3. Скачайте его: Файл → Скачать → Пример документа (.json).
Вкладка «Пример» с документом, построенным по схеме
Пример документа обновляется вместе со схемой

Как строится пример

  • Если у поля есть examples, default или const, берётся это значение — так вы управляете содержимым примера.
  • Для enum берётся первое значение.
  • Строки с форматом получают правдоподобное значение: дата, uuid, email.
  • Массив получает один элемент (или столько, сколько требует minItems, но не больше трёх).
  • oneOf и anyOf — берётся первый вариант, allOf — объединение частей.
  • Ссылки $ref внутри схемы раскрываются; глубина ограничена, поэтому рекурсивные структуры обрываются.

Как сделать пример полезнее

  • Добавьте examples к ключевым полям: «ORD-2026-0001» понятнее, чем «string».
  • Проверьте пример на вкладке Проверка. Пример строится по простым правилам: для строки с pattern подставляется «строка», и такой пример шаблон не пройдёт. Добавьте examples — и пример станет корректным.
  • Для XML-схем есть аналогичная функция — «Пример XML по XSD».

Пример

{
  "type": "object",
  "properties": {
    "number": {"type": "string", "examples": ["ORD-2026-0001"]},
    "status": {"enum": ["NEW", "PAID", "SHIPPED"]},
    "email": {"type": "string", "format": "email"},
    "items": {"type": "array", "minItems": 2, "items": {"type": "integer", "minimum": 1}}
  }
}

Пример документа:

{
  "number": "ORD-2026-0001",
  "status": "NEW",
  "email": "user@example.ru",
  "items": [1, 1]
}

Вопросы и ответы

Можно ли получить несколько разных примеров? Пример один, детерминированный. Для разных вариантов задайте несколько значений в examples и меняйте порядок или правьте полученный пример вручную.

Как получить пример XML по той же структуре? Переведите схему в XSD и получите пример XML из неё — «JSON Schema в XSD» и «Пример XML по XSD».