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

Ввод Python код

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

Вывод JSON Schema

Настройки

Выберите модель, которая будет root для JSON Schema.

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

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

Поддерживаются dataclasses, Pydantic, TypedDict, Optional/Union и коллекции.

Как конвертировать Python dataclasses, Pydantic models и TypedDicts в JSON Schema — пошаговая инструкция

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

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

    • Вставьте модели, которые хотите документировать, в левый редактор.
    • Добавьте все типы, на которые есть ссылки, в тот же сниппет, чтобы сгенерировались 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-примеры и синхронизировать код и контракты.

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

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

Dataclasses, Pydantic BaseModel и TypedDicts с типизированными полями, списками, dicts и вложенными ссылками. Можно вставлять несколько моделей в одном сниппете.

Как типы Python мапятся в JSON Schema?

Примитивы (str/int/float/bool), Optional/Union, списки и словари конвертируются в эквиваленты JSON Schema. Optional поля становятся optional, enums превращаются в enum.

Можно ли выбрать root модель?

Да. Если definitions несколько — выберите root в настройках, чтобы схема строилась вокруг нужной модели.

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

После генерации схемы нажмите "Сгенерировать мок-данные", чтобы открыть Генератор моков и получить примерные payloads.

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