Генератор 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, если в реальных данных они на самом деле необязательны.