Конвертер JSON Schema в TypeScript

Вставьте JSON Schema (draft-07 или 2020-12) и получите интерфейсы TypeScript: обязательные и необязательные свойства, enum как union-типы, oneOf/anyOf как объединения, allOf как пересечения, определения $ref как именованные типы и описания как комментарии JSDoc.

Обновлено
Объявлять как

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

Был ли этот инструмент полезен?0.0 Оценок: 0
Создайте JSON Schema из примера JSONТипы, обязательные поля, форматы (email, дата, URI, UUID), enum и массивы объектов.JSON в JSON Schema →

Как пользоваться: JSON Schema в TypeScript

  1. Вставьте свою JSON Schema или объект components.schemas из OpenAPI в левое поле.
  2. Укажите имя корневого типа и выберите, использовать interface или type.
  3. Типы TypeScript обновляются по мере ввода. Определения из $defs или definitions становятся отдельными именованными типами.
  4. Скопируйте код в файл .ts или .d.ts.

Как JSON Schema соотносится с TypeScript

JSON SchemaTypeScript
"type": "string" / number, integer / boolean / nullstring / number / boolean / null
properties + requiredинтерфейс с prop и необязательным prop?
enum, constобъединение литералов: "draft" | "published"
items, prefixItemsT[], кортежи [A, B]
additionalProperties (схема)[key: string]: T
oneOf / anyOf / allOfA | B / A | B / A & B
$ref: "#/$defs/User"User
"type": ["string", "null"]string | null

Ключевые слова только для валидации, например minLength, pattern или format, в TypeScript не имеют аналогов. При включенном JSDoc они добавляются в комментарий. Внешние URL в $ref типизируются как unknown.

Нужно начать не со схемы, а с примера данных? Используйте JSON в TypeScript. Чтобы проверить данные по схеме, воспользуйтесь валидатором JSON Schema.

Также ищут как: json schema в ts, генерация typescript из json schema, json schema interface, json-schema-to-typescript онлайн, openapi schema в typescript, типы json schema, конвертер json schema.

Инструменты, которые хорошо сочетаются с JSON Schema в TypeScript

  • JSON в JSON Schema — Вставьте один или несколько примеров JSON, и вы получите JSON Schema, которая их описывает: вложенные объекты, массивы объектов, объединённые в одну схему элемента, обязательные поля (ключи, присутствующие во всех примерах), распознанные форматы вроде email, date-time, URI и UUID, необязательные enum и вывод в формате 2020-12 или draft-07.
  • JSON в типы — Вставьте ответ API и получите готовые модели на 8 языках: TypeScript, Python (dataclass, TypedDict или Pydantic), Go, Java, C#, Kotlin, Swift и Rust.
  • JSON форматтер — Вставьте JSON, чтобы отформатировать, минифицировать или проверить его.
  • Валидатор OpenAPI / Swagger — Вставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и несогласованные параметры пути и увидеть все эндпоинты сразу.

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

Как конвертировать JSON Schema в TypeScript?
Вставьте схему слева, и справа появятся интерфейсы TypeScript. Определения в $defs или definitions станут именованными типами, на которые указывает $ref.
Какие версии JSON Schema поддерживаются?
Ключевые слова draft-04 — draft-07 и 2019-09/2020-12: properties, required, enum, const, items, prefixItems, additionalProperties, oneOf, anyOf, allOf, $ref, $defs и definitions.
Можно ли использовать для схем OpenAPI?
Да. Вставьте одну схему или весь объект components.schemas, чтобы получить тип для каждой схемы. Ссылки #/components/schemas/ разрешаются.
Мою схему где-нибудь загружают на сервер?
Нет. Конвертация полностью выполняется в вашем браузере.
Можно ли установить JSON Schema в TypeScript как веб-приложение и пользоваться им офлайн?
Да. JSON Schema в TypeScript — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localJSON в JSON SchemaВставьте один или несколько примеров JSON, и вы получите JSON Schema, которая их описывает: вложенные…localJSON в TypeScriptВставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с…localВалидатор JSON SchemaВставьте схему и JSON, чтобы увидеть, какие значения нарушают какие правила, или сгенерируйте стартовую…localJSON в типыВставьте ответ API и получите готовые модели на 8 языках: TypeScript, Python (dataclass, TypedDict или…localJSON форматтерВставьте JSON, чтобы отформатировать, минифицировать или проверить его. Ошибки указываются с точной…localВалидатор OpenAPI / SwaggerВставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и…