JSON-Schema-Zusammenführung
Kombiniere mehrere JSON Schemas oder eine allOf-Komposition zu einem Schema. Regeln, die nie gemeinsam erfüllbar sind, werden als Konflikte aufgelistet.
Akzeptiert bis zu 100.000 Zeichen und 2 bis 50 Schemas. Alles läuft in deinem Browser. Downloads: das zusammengeführte Schema als JSON, ein JSON-Bericht und eine CSV-Konfliktliste. Ein JSON-Array mit Schemas oder ein Schema mit allOf. YAML wird ebenfalls unterstützt. Bis zu 100.000 Zeichen. Prüfe die Einstellungen vor dem Start.
Dein Ergebnis
JSON-Schema-Zusammenführung
- Füge ein JSON-Array mit Schemas oder ein Schema ein, dessen allOf sie auflistet.
- Wähle die JSON-Schema-Version oder behalte die automatische Erkennung bei.
- Starte die Zusammenführung und prüfe Konflikte sowie in allOf erhaltene Regeln.
- Lade das zusammengeführte Schema und den Konfliktbericht herunter.
Was du wissen solltest
Akzeptiert bis zu 100.000 Zeichen und 2 bis 50 Schemas. Alles läuft in deinem Browser. Downloads: das zusammengeführte Schema als JSON, ein JSON-Bericht und eine CSV-Konfliktliste.
Wie Regeln kombiniert werden
Typen werden geschnitten, ebenso Enumerationen und const-Werte. Mindest- und Höchstgrenzen übernehmen den strengeren Wert, required-Listen werden vereinigt und Eigenschaften einzeln zusammengeführt. Wenn ein Schema zusätzliche Eigenschaften verbietet, ist auch eine nur von einem anderen Schema definierte Eigenschaft verboten; ist sie erforderlich, wird ein Konflikt aufgelistet.
Was in allOf erhalten bleibt
Manche Schlüsselwörter lassen sich nicht exakt kombinieren, etwa zwei verschiedene reguläre Ausdrücke, oneOf, not, if und then, patternProperties neben anderen Eigenschaftsregeln sowie nicht ausgewertete Eigenschaften. Sie bleiben in einem allOf im zusammengeführten Schema erhalten und werden im Bericht aufgelistet, damit sich die Bedeutung des Schemas nicht ändert.
Das Ergebnis prüfen
Konflikte nennen ihre Schemaposition. Ein Konflikt in einer optionalen Eigenschaft oder einer nur für Zahlen geltenden Regel macht allein nicht das gesamte Schema unerfüllbar. Der Bericht setzt provenUnsatisfiable nur, wenn ein begrenzter struktureller Beweis zeigt, dass keine Instanz das zusammengeführte Schema erfüllen kann. Andernfalls ist dieses Kennzeichen kein Erfüllbarkeitsbeweis. Ohne Konflikte prüfen optionale Beispieltests Kandidaten jeder Komposition mit Ajv gegen die andere. Getrennte Eingabeschemas behalten ihre eigenen Wurzeln für lokale Verweise. Beispiele sind Belege, kein vollständiger Äquivalenzbeweis. Schemas mit __proto__ als Eigenschafts-, Muster- oder Abhängigkeitsschlüssel werden vom Validator abgelehnt.