Zum Inhalt springen
100% lokal

JSON-Schema-Validator

Vergleichen Sie ein JSON-Dokument mit einem JSON-Schema und erhalten Sie einen lesbaren, zeilenweisen Fehlerbericht.

Eingabe
JSON-Schema
Ausgabe

JSON-Schema-Validator

Fügen Sie auf der einen Seite ein JSON-Dokument und auf der anderen Seite ein JSON-Schema ein, und dieses Tool sagt Ihnen, ob das Dokument übereinstimmt – und wenn nicht, genau, wo und warum. Jedes Problem wird als eine Zeile mit dem JSON-Zeigerpfad zum fehlerhaften Wert, dem fehlgeschlagenen Schema-Schlüsselwort und dem tatsächlich dort gefundenen Wert gemeldet, sodass Sie direkt zur Lösung springen können, anstatt manuell eine große Nutzlast durchsuchen zu müssen.

Der Validator deckt den alltäglichen Kern von JSON Schema Draft-07 ab: „type“ (einschließlich Union-Arrays wie [„string“, „null“] für nullfähige Felder), „required“ und „properties“, „additionalProperties“ entweder als boolescher Wert oder als eigenes Schema, „items“ für die Listen- und Tupelvalidierung, „minItems“/„maxItems“/„uniqueItems“, die numerischen Schlüsselwörter „minimum“/„maximum“/„exclusiveMinimum“/„exclusiveMaximum“/„multipleOf“, die String-Schlüsselwörter „minLength“/„maxLength“/„pattern“, „enum“ und „const“ und die Kombinatoren „anyOf“/“allOf“/“oneOf“/“not“. Es löst auch „$ref“-Zeiger auf den eigenen „#/definitions“- oder „#/$defs“-Abschnitt eines Schemas auf – praktisch für Schemas, die eine gemeinsame Objektform ausklammern – und erkennt ein „$ref“, das auf sich selbst zurückspringt, anstatt die Seite einzufrieren.

Dies ist ein Validator, kein schemagesteuerter Formularersteller: Er ruft kein Schema von einer URL oder einer „$id“ ab und wird dies auch nie tun, da dies bedeuten würde, dass Ihre Daten oder Ihre Schemadefinition von Ihrem Gerät gesendet werden. Jedes „$ref“, das außerhalb des Dokuments zeigt, wird als nicht unterstützt gemeldet und nicht stillschweigend ignoriert, sodass Sie immer genau wissen, was überprüft wurde und was nicht.

Alles läuft lokal in Ihrem Browser – das JSON-Dokument und das Schema werden auf Ihrem Gerät analysiert und überprüft und niemals irgendwohin hochgeladen, was die Verwendung mit API-Payloads, Konfigurationsdateien oder anderen JSON-Dateien, die Daten enthalten, die Sie lieber nicht in eine beliebige Website einfügen möchten, sicher macht.

Häufige Fragen

Welcher JSON-Schema-Entwurf wird dadurch unterstützt?
Eine praktische Teilmenge von Draft-07: Typ (einschließlich Union- und Nullable-Arrays), erforderlich, Eigenschaften, zusätzliche Eigenschaften, Elemente, minItems/maxItems/uniqueItems, die Schlüsselwörter für numerische und Zeichenfolgengrenzen, enum/const, anyOf/allOf/oneOf/not und lokale $ref-Zeiger in „#/definitions“ oder „#/$defs“.
Kann es einem $ref auf eine andere Datei oder URL folgen?
Nein. Es werden nur lokale Zeiger auf die eigenen „#/definitions“ oder „#/$defs“ desselben Schemas aufgelöst. Ein $ref, der auf eine andere Stelle verweist, wird als nicht unterstützt gemeldet und nicht abgerufen, da das Abrufen eines Remote-Schemas das Senden von Daten von Ihrem Gerät bedeuten würde.
Was passiert, wenn mein Schema eine zirkuläre $ref hat?
Es wird erkannt und als „$ref“-Fehler gemeldet, anstatt den Tab einzufrieren – der Validator verfolgt die Referenzen, denen er aktuell folgt, und stoppt, sobald sich eine wiederholt.
Wie wird jeder Fehler gemeldet?
Eine Zeile pro Problem, mit dem JSON-Zeigerpfad zum Wert (z. B. „/user/age“), dem fehlgeschlagenen Schema-Schlüsselwort (z. B. „minimum“ oder „required“) und dem tatsächlichen Wert, der dort gefunden wurde.
Werden mein JSON-Dokument und mein JSON-Schema irgendwo hochgeladen?
Nein. Die Validierung läuft vollständig in Ihrem Browser mit dem integrierten JSON-Parser – weder die Daten noch das Schema verlassen jemals Ihr Gerät und es wird nie ein Schema aus dem Netzwerk abgerufen.