Skip to content
JSON Schema Validator
Tools

JSON Schema Validator

Neu

Validate JSON against a JSON Schema (draft-07 / draft-2020-12) with clear error messages.

JSON Data Paste your data here
JSON Schema Draft-07 supported

Runs entirely in your browser. Nothing is uploaded.

Was ist JSON Schema und warum ist es wichtig?

JSON (JavaScript Object Notation) ist die gemeinsame Sprache von Web-APIs, Konfigurationsdateien und Datenaustausch. Aber reines JSON hat kein eingebautes Typsystem — ein Feld kann heute eine Zeichenkette und morgen eine Zahl sein, und der einzige Weg, die Diskrepanz zu entdecken, ist ein Laufzeitfehler oder ein subtiler Datenfehler. JSON Schema schließt diese Lücke: Es ist ein deklaratives Vokabular zur Beschreibung der erwarteten Struktur und der Einschränkungen eines JSON-Dokuments, das zur Laufzeit gegen tatsächliche Daten validiert wird.

Teams verwenden JSON Schema, um API-Anfrage-Payloads vor der Verarbeitung zu validieren, die Form von Konfigurationsdateien beim Start zu erzwingen, automatisch Dokumentation und UI-Formulare aus einer einzigen Quelle der Wahrheit zu generieren und die Vertragskonsistenz über Microservices hinweg zu erhalten. OpenAPI — der Standard für die Dokumentation von REST-APIs — baut direkt auf JSON Schema auf und macht es zum am weitesten verbreiteten Datenvalidierungsstandard im Web.

JSON Schema Draft-Versionen: Draft-07, Draft 2019-09 und Draft 2020-12

JSON Schema hat mehrere Spezifikationsentwürfe durchlaufen. Draft-07, veröffentlicht 2018, ist nach wie vor das am weitesten unterstützte über alle wichtigen Validator-Bibliotheken hinweg und ist der von OpenAPI 3.0 verwendete Dialekt. Es führte die leistungsstarken if/then/else-Bedingungsvalidierungsschlüsselwörter, readOnly/writeOnly-Eigenschaftsannotationen und Inhaltskodierungsschlüsselwörter ein. Wenn Sie heute Schemas schreiben und die neuesten Funktionen nicht benötigen, ist Draft-07 die sicherste Wahl für maximale Ökosystemkompatibilität.

Draft 2020-12 ist die aktuelle stabile Spezifikation und führt mehrere wesentliche Änderungen ein: das items-Schlüsselwort wird durch prefixItems für die Tupelvalidierung ersetzt, dynamische Referenzen verwenden $dynamicRef statt $recursiveRef, und die neuen Schlüsselwörter unevaluatedProperties und unevaluatedItems bieten eine präzisere Kontrolle über zusätzlichen Inhalt.

Wichtige JSON Schema Schlüsselwörter erklärt

Das Schlüsselwort type erzwingt einen Datentyp: string, number, integer, boolean, array, object oder null. required listet die Eigenschaften auf, die in einem Objekt vorhanden sein müssen. properties ordnet jeden Eigenschaftsnamen seinem eigenen Teilschema zu. pattern wendet einen regulären Ausdruck auf einen String-Wert an. minimum, maximum, minLength und maxLength schränken numerische und String-Bereiche ein. enum beschränkt einen Wert auf einen festen Satz erlaubter Werte; const beschränkt ihn auf einen einzelnen Wert.

Kompositionsschlüsselwörter ermöglichen es, komplexe Regeln aus einfachen Bausteinen aufzubauen: allOf wirkt wie logisches UND, anyOf wie ODER und oneOf wie XOR. Das Schlüsselwort not invertiert ein Schema. Die Schlüsselwörter if/then/else ermöglichen bedingte Validierung. Zusammen erlauben sie, nahezu jede Validierungsregel auszudrücken, ohne benutzerdefinierten imperativen Code zu schreiben.

JSON Schema in der Produktion: API-Verträge und CI-Pipelines

In Produktionssystemen läuft die JSON Schema-Validierung serverseitig oder in CI-Pipelines mit Bibliotheken wie Ajv (JavaScript/Node.js), jsonschema (Python) oder Newtonsoft.Json (C#). Schemas werden zusammen mit dem Anwendungscode versioniert, damit Vertragsänderungen wie jede andere Änderung überprüft und verfolgt werden. Brechende Änderungen — ein Pflichtfeld entfernen, einen Typ einschränken — werden bei der Code-Überprüfung erkannt, bevor sie die Produktion erreichen und Verbraucher unterbrechen.

Dieses browserbasierte Tool ist ideal, um Schemas iterativ zu entwerfen und zu debuggen, bevor sie eingecheckt werden. Fügen Sie Ihre Daten ein, schreiben Sie Ihr Schema, klicken Sie auf Validieren, lesen Sie die detaillierten Fehlermeldungen und verfeinern Sie — kein Server, kein npm install, keine Rundreisen. Der Validator formatiert Ihr JSON auch bei jeder Validierungsausführung, was ihn zu einem praktischen kombinierten JSON-Formatter und Schema-Tester macht.

Praxisbeispiel: Validierung einer API-Antwort

Angenommen, Ihre API gibt ein Benutzerobjekt zurück. Ein JSON Schema, das es validiert, könnte eine ganzzahlige id, einen nicht leeren String-Namen, eine String-E-Mail, die einem E-Mail-Muster entspricht, und eine optionale String-Rolle aus einem Enum von 'admin', 'editor' und 'viewer' erfordern. Das Setzen von additionalProperties auf false stellt sicher, dass Ihre API niemals stillschweigend undokumentierte Felder zurückgibt, von denen nachgelagerte Verbraucher unbeabsichtigt abhängen könnten.

Die if/then/else-Funktion ermöglicht bedingte Regeln — zum Beispiel, wenn die Rolle 'admin' ist, dann ist ein Berechtigungs-Array erforderlich, andernfalls ist es verboten. Diese kompositionellen Regeln ermöglichen es, dass ein einziges Schema mehrere gültige Formen eines Objekts abdeckt, ohne Eigenschaftsdefinitionen zu duplizieren.

Wie sich UtiloKit von anderen JSON Schema Validatoren unterscheidet

Die meisten Online-Tools zur JSON Schema-Validierung fallen in zwei Kategorien: visuelle Schema-Builder und serverseitige API-Validatoren. jsonschema.net zwingt Sie durch eine Point-and-Click-Oberfläche zum Erstellen von Schemas — nützlich für Anfänger, die die Schema-Struktur lernen, aber langsam für Entwickler, die bereits wissen, welche Schlüsselwörter sie benötigen.

jsonschemavalidator.net, das auf Microsofts Newtonsoft.Json-Bibliothek aufbaut, meldet Fehler mit .NET-Eigenschaftspfaden und Fehlercodes, die JavaScript-Entwicklern unbekannt erscheinen. Tools wie Stoplight und SwaggerHub validieren Schemas als Teil eines vollständigen OpenAPI-Dokuments und erfordern Projekt-Setup und Konto.

UtiloKits Validator läuft auf der gleichen Ajv-Engine, die die meisten Node.js-, Express- und Fastify-Anwendungen antreibt. Die Fehlermeldungen, JSON-Zeigerpfade und Schlüsselwortverhalten stimmen genau mit Ihrer Produktionsumgebung überein — und es läuft kostenlos in Ihrem Browser ohne Konto, ohne Upload, ohne Dateigrößenbeschränkung und ohne tägliches Nutzungslimit.

Frequently asked questions

Was ist JSON Schema?

JSON Schema ist ein deklaratives Vokabular zur Annotation und Validierung von JSON-Dokumenten. Es definiert die erwartete Struktur, Datentypen und Einschränkungen, die ein JSON-Dokument erfüllen muss. Teams verwenden es zur Validierung von API-Payloads, zur Durchsetzung von Konfigurationsdateistrukturen, zur automatischen Generierung von Dokumentation und UI-Formularen sowie zur Sicherstellung der Datenkonsistenz über Microservices hinweg.

Welche JSON Schema Draft-Version unterstützt dieser Validator?

Dieser Validator implementiert die Kernschlüsselwörter von JSON Schema Draft-07, der am weitesten unterstützten Version über alle wichtigen Validator-Bibliotheken hinweg, einschließlich Ajv (JavaScript), jsonschema (Python) und Newtonsoft.Json (C#). Draft-07 führte if/then/else-Bedingungsvalidierung, readOnly/writeOnly-Annotationen und Inhaltskodierungsschlüsselwörter ein.

Was ist der Unterschied zwischen allOf, anyOf und oneOf?

allOf erfordert, dass die Daten gegenüber jedem aufgelisteten Teilschema gültig sind — es wirkt wie ein logisches UND. anyOf erfordert Gültigkeit gegenüber mindestens einem Teilschema — logisches ODER. oneOf erfordert Gültigkeit gegenüber genau einem Teilschema — logisches XOR. Diese Kompositionsschlüsselwörter ermöglichen den Aufbau komplexer Validierungsregeln aus einfachen wiederverwendbaren Teilen.

Was bewirkt additionalProperties: false?

Es verbietet jede Eigenschaft im Objekt, die nicht explizit unter dem Schlüsselwort properties aufgeführt ist. Dies erstellt ein geschlossenes Schema — sehr nützlich für strenge API-Verträge, bei denen unerwartete Felder einen Validierungsfehler verursachen sollen. Dies ist eine der häufigsten Fallstricke: Wenn Sie Ihren Daten eine neue Eigenschaft hinzufügen, ohne das Schema zu aktualisieren, schlägt die Validierung fehl.

Kann ich Arrays von Objekten validieren?

Ja. Setzen Sie type auf 'array' und geben Sie ein items-Teilschema an. Jedes Element im Array wird gegen dieses Teilschema validiert. Für die Tupelvalidierung setzen Sie items in Draft-07 auf ein Array von Schemas. Sie können auch die Array-Länge mit minItems, maxItems einschränken und Eindeutigkeit mit uniqueItems: true erzwingen.

Wie referenziere ich Teilschemata mit $ref?

Definieren Sie wiederverwendbare Schemas in einem $defs-Objekt auf oberster Ebene und referenzieren Sie sie dann mit '$ref': '#/$defs/SchemaName'. Dies hält Ihr Schema DRY und lesbar. Dieser Validator unterstützt nur lokale (gleiche Dokument) $ref — Remote-$ref-URLs, die auf externe Dateien verweisen, werden nicht abgerufen.

Was sind die häufigsten JSON Schema Validierungsfehler?

Die häufigsten Fehler sind: fehlende Pflichtfelder, Typinkompatibilitäten, Musterverletzungen, Bereichsverletzungen und Fehler bei zusätzlichen Eigenschaften, wenn additionalProperties false ist. Dieser Validator meldet jeden Fehler mit dem genauen JSON-Zeigerpfad zu den fehlgeschlagenen Daten.

Related tools

Alle Tools ansehen