Генератор и валидатор JSON Schema

Сгенерируйте JSON Schema (draft-07) по примеру данных JSON или проверьте любой документ JSON по любой схеме с понятными сообщениями об ошибках. Также: Форматировщик JSON | Вычислитель JSONPath | Все инструменты JSON.
Вся обработка выполняется локально в вашем браузере: ничего не загружается.
Сгенерировать схему Проверить данные
Вставьте ниже один объект JSON (или массив объектов: свойства объединяются, а required берётся как объединение). Схема выводится автоматически; при необходимости отредактируйте её, чтобы задать более строгие правила.
Добавить заголовок $schema — добавляет объявление draft-07 в начало, чтобы валидаторы знали, какой диалект использует схема. Пример: "$schema": "http://json-schema.org/draft-07/schema#"
Отметить ключи required — добавляет в список обязательных каждый ключ из примера JSON. Пример: "required": ["name", "price", "inStock"]
Свернуть небольшие наборы значений в enum — если в скалярном массиве 2–8 уникальных значений, тип элемента сужается до enum. Пример: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Определять распространённые строковые форматы — распознаёт даты ISO, дата-время, UUID, email и URL и добавляет format. Пример: "createdAt": {"type": "string", "format": "date-time"}
Заметки генератора: целые числа становятся "integer"; строки получают format только при включённом флажке форматов; несколько объектов JSON в массиве объединяются (ключи одного типа сохраняют первый тип, смешанные типы переходят в массив type; required — объединение всех образцов). В режиме Проверить данные каждое нарушенное правило сообщается с путём JSON Pointer (например .items[0].price), чтобы сразу перейти к проблемному значению.
JSON Schema — контракт, а не система типов

JSON Schema описывает, каким должен быть корректный документ: какие ключи обязательны, какие типы у значений, диапазоны и шаблоны. Проверка сверяет данные с этим контрактом и ничего не преобразует. Схемы версионируются по диалектам (draft): эта страница генерирует draft-07, самый широко поддерживаемый диалект; актуальный сейчас — 2020-12.

Сгенерированная схема — это предположение по образцам: ужесточите required, enum и format вручную.