Unificatore di JSON Schema
Unisci più JSON Schema, oppure una composizione allOf, in un unico schema. Le regole che non possono mai essere soddisfatte insieme sono elencate come conflitti.
Accetta fino a 100.000 caratteri e da 2 a 50 schemi. Tutto viene eseguito nel browser. I download sono lo schema unito in JSON, un report JSON e un elenco CSV dei conflitti. Un array JSON di schemi oppure uno schema con allOf. È accettato anche YAML. Fino a 100.000 caratteri. Controlla le impostazioni prima di eseguire.
Il tuo risultato
Unificatore di JSON Schema
- Incolla un array JSON di schemi oppure uno schema il cui allOf li elenchi.
- Scegli la versione di JSON Schema oppure mantieni il rilevamento automatico.
- Esegui l'unione ed esamina i conflitti e le regole conservate in allOf.
- Scarica lo schema unito e il report dei conflitti.
Cosa aspettarsi
Accetta fino a 100.000 caratteri e da 2 a 50 schemi. Tutto viene eseguito nel browser. I download sono lo schema unito in JSON, un report JSON e un elenco CSV dei conflitti.
Come si combinano le regole
Si calcola l'intersezione dei tipi, delle enumerazioni e dei valori const; i limiti minimi e massimi prendono il valore più restrittivo, gli elenchi required vengono uniti e le proprietà combinate una per una. Quando uno schema vieta proprietà aggiuntive, viene vietata anche una proprietà definita solo da un altro schema e viene elencato un conflitto se tale proprietà è obbligatoria.
Cosa resta in allOf
Alcune parole chiave non possono essere combinate esattamente, come due espressioni regolari diverse, oneOf, not, if e then, patternProperties accanto ad altre regole di proprietà e proprietà non valutate. Vengono conservate in un allOf nello schema unito ed elencate nel report, così il significato dello schema non cambia.
Controllo del risultato
I conflitti indicano la propria posizione nello schema. Un conflitto in una proprietà facoltativa o in una regola solo numerica non rende di per sé impossibile l'intero schema. Il report imposta provenUnsatisfiable solo quando una prova strutturale limitata dimostra che nessuna istanza può soddisfare lo schema unito. Altrimenti quel flag non è una prova di soddisfacibilità. In assenza di conflitti, controlli facoltativi con esempi validano con Ajv i candidati di ciascuna composizione rispetto all'altra. Schemi di input separati mantengono le proprie radici dei riferimenti locali. Gli esempi costituiscono evidenza, non una prova esaustiva di equivalenza. Il validatore rifiuta schemi che usano __proto__ come chiave di proprietà, espressione regolare o dipendenza.