Samenvoegen van JSON Schema's
Voeg meerdere JSON Schema's of één allOf-compositie samen tot één schema. Regels waaraan nooit tegelijk kan worden voldaan, worden als conflicten vermeld.
Accepteert maximaal 100.000 tekens en 2 tot 50 schema's. Alles draait in je browser. Downloads zijn het samengevoegde schema als JSON, een JSON-rapport en een CSV-lijst met conflicten. Een JSON-array van schema's of één schema met allOf. YAML werkt ook. Maximaal 100.000 tekens. Controleer de instellingen voordat je de tool uitvoert.
Je resultaat
Samenvoegen van JSON Schema's
- Plak een JSON-array van schema's of één schema waarvan allOf ze opsomt.
- Kies de JSON Schema-versie of behoud automatische detectie.
- Voer de samenvoeging uit en bekijk conflicten en regels die in allOf zijn behouden.
- Download het samengevoegde schema en het conflictrapport.
Wat je kunt verwachten
Accepteert maximaal 100.000 tekens en 2 tot 50 schema's. Alles draait in je browser. Downloads zijn het samengevoegde schema als JSON, een JSON-rapport en een CSV-lijst met conflicten.
Hoe regels worden gecombineerd
Typen, enumeraties en const-waarden worden doorsneden, minimum- en maximumgrenzen krijgen de strengste waarde, required-lijsten worden samengevoegd en eigenschappen worden één voor één gecombineerd. Als een schema extra eigenschappen verbiedt, is een eigenschap die alleen door een ander schema is gedefinieerd ook verboden. Als die eigenschap verplicht is, wordt een conflict vermeld.
Wat in allOf blijft staan
Sommige trefwoorden kunnen niet exact worden gecombineerd, zoals twee verschillende reguliere expressies, oneOf, not, if en then, patternProperties naast andere eigenschapsregels en niet-geëvalueerde eigenschappen. Ze blijven in een allOf binnen het samengevoegde schema staan en worden in het rapport vermeld, zodat de betekenis van het schema niet verandert.
Het resultaat controleren
Conflicten vermelden hun locatie in het schema. Een conflict in een optionele eigenschap of een regel die alleen voor getallen geldt, maakt op zichzelf niet het hele schema onmogelijk. Het rapport stelt provenUnsatisfiable alleen in als een begrensd structureel bewijs vaststelt dat geen enkele instantie aan het samengevoegde schema kan voldoen. Anders vormt die vlag geen bewijs van vervulbaarheid. Als er geen conflicten zijn, valideren optionele voorbeeldcontroles met Ajv kandidaten uit elke compositie aan de hand van de andere. Afzonderlijke invoerschema's behouden hun eigen wortels voor lokale verwijzingen. Voorbeelden vormen aanwijzingen, geen uitputtend bewijs van equivalentie. Schema's die __proto__ als eigenschaps-, patroon- of afhankelijkheidssleutel gebruiken, worden door de validator geweigerd.