TypeScript → JSON Schema генератор

Ввод TypeScript код

Загрузка редактора…

Вывод JSON Schema

Настройки

Выберите interface/type, который будет root для JSON Schema.

Парсинг выполняется полностью в браузере. Ваш код не покидает страницу.

Вставьте ваши TypeScript типы, чтобы сразу получить JSON Schema.

Поддерживаются interfaces, type aliases, public fields, optional/readonly и union types.

Как конвертировать TypeScript interfaces, types и classes в JSON Schema — пошаговая инструкция

Этот онлайн конвертер (TypeScript → JSON Schema) помогает генерировать JSON Schema из реальных моделей (DTOs, structs и classes), чтобы валидировать payloads, делиться контрактами и генерировать mock JSON.

  1. Шаг 1 — Вставьте исходник TypeScript

    • Вставьте модели, которые хотите документировать, в левый редактор.
    • Добавьте все типы, на которые есть ссылки, в тот же сниппет, чтобы сгенерировались definitions.
    • Нажмите Пример, чтобы загрузить пример и увидеть ожидаемый формат.
  2. Шаг 2 — Выберите Корневой тип (если нужно)

    • Если найдено несколько definitions, выберите корневой тип, который соответствует вашему API payload.
    • Выходная схема строится вокруг выбранного root и может включать дополнительные definitions для связанных типов.
  3. Шаг 3 — Проверьте JSON Schema

    • Проверьте типы, required vs optional поля и вложенные структуры объектов/массивов.
    • Обратите внимание на definitions и $ref когда модели ссылаются друг на друга.
    • Скопируйте или скачайте схему для валидации, документации или schema-first разработки.
  4. Шаг 4 — Валидируйте или сгенерируйте mock JSON

    • Нажмите Сгенерировать мок-данные чтобы открыть Генератор моков с предзаполненной схемой.
    • Проверяйте реальные payloads по схеме, чтобы раньше замечать breaking changes.
    • Если вы используете продвинутую композицию схемы (например anyOf/oneOf/allOf), проверьте результат полноценным валидатором вроде Ajv.

Заметка о поддержке keywords

Сгенерированные схемы могут включать $ref и при необходимости можно добавить anyOf, oneOf, или allOf. Для сложных схем используйте полноценный JSON Schema validator и при необходимости сделайте dereference перед генерацией моков.

Связанные инструменты JSON Schema и генерации кода

Используйте эти инструменты, чтобы валидировать схемы, генерировать mock payloads, форматировать JSON-примеры и синхронизировать код и контракты.

Часто задаваемые вопросы

Какая TypeScript синтаксис поддерживается?

Поддерживаются interfaces, type aliases и classes с public fields. Обрабатываются optional properties, readonly, string-literal keys, union types, arrays, Record и вложенные ссылки. Комментарии и decorators игнорируются — можно вставлять DTOs напрямую.

Как работает маппинг типов?

Примитивы (string, number, boolean, bigint, Date) мапятся в JSON Schema primitives с подходящими formats. Arrays (Foo[]/Array<Foo>), Record<string, T> и dictionary-shapes становятся arrays/objects. Union types с null/undefined автоматически делают поле optional.

Подходит ли для classes так же, как и для interfaces?

Да. Если class определяет public fields (или readonly properties) с type annotations, он будет конвертирован в JSON Schema. Всё работает в браузере — ваш код никуда не отправляется.

Как получить mock JSON по схеме?

После генерации схемы нажмите "Сгенерировать мок-данные", чтобы открыть Генератор моков с предзаполненной схемой. Настройте locale, размеры массивов и optional поля.

TypeScript → JSON Schema генератор | JSONSwiss