happytails.ai
Українська

Об’єднувач JSON Schema

Об’єднайте кілька JSON-схем або одну композицію allOf в єдину схему. Правила, які неможливо виконати одночасно, буде наведено як конфлікти.

Приймає до 100 000 символів і від 2 до 50 схем. Усе виконується у браузері. Можна завантажити об’єднану схему як JSON, звіт JSON і список конфліктів CSV. Масив JSON-схем або одна схема з allOf. Працює і YAML. До 100 000 символів. Перевірте налаштування перед запуском.

Ваш результат

Повідомте про проблему або поділіться ідеєю.

Об’єднувач JSON Schema
  1. Вставте масив JSON зі схемами або одну схему, у якій allOf перелічує схеми для об’єднання.
  2. Виберіть редакцію JSON Schema або залиште автоматичне визначення.
  3. Запустіть об’єднання та перегляньте конфлікти й правила, збережені в allOf.
  4. Завантажте об’єднану схему та звіт про конфлікти.

Що варто знати

Приймає до 100 000 символів і від 2 до 50 схем. Усе виконується у браузері. Можна завантажити об’єднану схему як JSON, звіт JSON і список конфліктів CSV.

Як поєднуються правила

Типи перетинаються, переліки й значення const перетинаються, межі minimum і maximum стають суворішими, списки required об’єднуються, а властивості зливаються по черзі. Якщо одна схема забороняє додаткові властивості, забороняється й властивість, визначена лише в іншій; якщо ця властивість обов’язкова, указується конфлікт.

Що залишається в allOf

Деякі ключові слова не можна точно об’єднати, наприклад два різні регулярні вирази, oneOf, not, if і then, patternProperties поруч з іншими правилами властивостей та unevaluated-властивості. Вони зберігаються всередині allOf в об’єднаній схемі й перелічуються у звіті, тому значення схеми не змінюється.

Перевірка результату

Конфлікти вказують на місце в схемі. Конфлікт необов’язкової властивості чи правила лише для чисел сам по собі не робить усю схему нездійсненною. У звіті provenUnsatisfiable позначається лише тоді, коли обмежений структурний доказ установлює, що жоден екземпляр не може задовольнити об’єднану схему. Інакше ця позначка не є доказом здійсненності. Якщо конфліктів немає, необов’язкові перевірки зразків за допомогою Ajv перевіряють кандидатів кожної композиції за іншою. Окремі вхідні схеми зберігають власні корені локальних посилань. Зразки є свідченням, а не вичерпним доказом еквівалентності. Валідатор відхиляє схеми, у яких __proto__ використано як ключ властивості, шаблону або залежності.