Генератор і перевірка 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 — додає до списку 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, адреси електронної пошти і URL та додає format. Приклад: "createdAt": {"type": "string", "format": "date-time"}
Примітки до генератора: цілі числа стають "integer"; рядки отримують format, лише якщо увімкнено прапорець формату; кілька об'єктів JSON у масиві об'єднуються (ключі одного типу зберігають перший тип, змішані типи переходять до масиву type; required — це об'єднання всіх зразків). Після Перевірити дані кожне порушене правило виводиться з шляхом JSON-покажчика (напр. .items[0].price), щоб ви одразу знайшли проблемне значення.
JSON Schema — контракт, а не система типів

JSON Schema описує, як має виглядати коректний документ: які ключі обов'язкові, якими мають бути типи значень, діапазони і шаблони. Валідація перевіряє дані за цим контрактом і нічого не перетворює. Схеми версіонуються за чернетками — ця сторінка генерує draft-07, найбільш підтримуваний діалект; поточний — 2020-12.

Згенерована схема є припущенням за зразками — уточніть required, enum і format вручну.