Генератор JSON Schema

Вставьте пример JSON и получите JSON Schema draft-07, описывающую его структуру, типы и обязательные поля.


          
        

Как это работает

Инструмент рекурсивно обходит ваш распарсенный JSON. Объекты становятся type: "object" с записью properties для каждого ключа, а каждый присутствующий ключ попадает в required. Массивы становятся type: "array" со схемой items, построенной путём вывода и объединения типа каждого элемента. Примитивы отображаются напрямую: строки, числа (целые числа получают "integer" вместо "number", когда все значения в выборке целые), булевы значения и null.

Это происходит через JSON.parse, встроенный парсер вашего браузера, а затем небольшой рекурсивный обходчик — оба выполняются прямо в JavaScript этой страницы. Ничего не загружается на сервер.

Частые вопросы

Какую версию JSON Schema генерирует инструмент?

Draft-07 — самую широко поддерживаемую версию среди валидаторов вроде ajv, jsonschema (Python) и большинства инструментов IDE. Результат — обычный JSON, поэтому вы можете вручную отредактировать его позже, если нужны ключевые слова более новой версии.

Как обрабатываются массивы?

Инструмент проверяет каждый элемент массива и объединяет выведенные типы. Если все элементы имеют одинаковую структуру, вы получаете одну схему items; если типы элементов различаются, применяется более широкая схема, чтобы ничто из вашего примера не осталось неучтённым.

Помечает ли он поля как обязательные?

Да, каждый ключ, присутствующий в объекте, добавляется в список required этого объекта, поскольку он встретился в вашем примере. Удалите ключи из сгенерированного массива required, если в реальных данных они на самом деле необязательны.