Как пользоваться: JSON в JSON Schema
- Вставьте пример JSON: ответ API, конфигурационный файл или запись из базы данных — или нажмите Пример.
- Для лучшего результата вставьте несколько примеров в виде массива JSON: поля, которых нет в некоторых примерах, станут необязательными, а разные типы превратятся в объединение.
- Выберите draft, способ определения обязательных полей и включите нужные опции: определение форматов, создание enum, запрет дополнительных свойств или сохранение примеров.
- Скопируйте или скачайте схему — либо сразу отправьте её в конвертер JSON Schema в TypeScript или в валидатор.
Как выводится схема
- Типы: строки, числа, целые числа, логические значения, null, объекты и массивы. Поле, которое иногда является числом, а иногда null, получит
"type": ["number", "null"]. - Массивы: каждый элемент объединяется в одну схему
items, поэтому массив объектов пользователей получит одну схему пользователя со всеми встреченными ключами. - Обязательность: по умолчанию ключ обязателен, только если он есть в каждом объекте такой структуры. При одном примере обязательны все ключи.
- Форматы: строки, которые все похожи на email, URI, UUID, дату, дату и время, время, IPv4 или IPv6, получают
format. - Enum: строковое поле с несколькими повторяющимися значениями во многих примерах (например,
status) превращается вenum.
Выведенная схема описывает ваши примеры, а не намерения, поэтому проверьте её: ограничьте строки через minLength или pattern, добавьте minimum/maximum для чисел и решите, какие поля действительно необязательны. Затем проверьте данные с помощью валидатора JSON Schema или сгенерируйте типы с помощью JSON Schema в TypeScript.
Также ищут как: генератор json schema, создать json schema из json, json schema онлайн, вывести json schema из примера, json schema draft 2020-12, json to schema конвертер, генерация json schema.
Инструменты, которые хорошо сочетаются с JSON в JSON Schema
- JSON в TypeScript — Вставьте образец JSON, например ответ API или конфиг, и получите готовые интерфейсы TypeScript с вложенными типами, необязательными свойствами и union-типами.
- JSON форматтер — Вставьте JSON, чтобы отформатировать, минифицировать или проверить его.
- Валидатор OpenAPI / Swagger — Вставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и несогласованные параметры пути и увидеть все эндпоинты сразу.
- Генератор тестовых данных — Создайте до 10 000 строк реалистичных тестовых данных: пользователей, товары, заказы, адреса, компании или вложенные API-записи, либо собственную схему.