JSON Schema Validator
Ähnliche Tools
Funktionen
- Draft-07-kompatibel: vollständige Unterstützung für Typen, Pflichtfelder, Properties, Regex, Formate und Enums
- Kombinationslogik: allOf, anyOf, oneOf und not für komplexe verschachtelte Validierungsszenarien
- Präzise Fehlermeldungen: detaillierter Fehlerpfad und semantische Beschreibung für schnelles Debugging
- API-Vertragstests: prüfe, ob API-Antworten strikt mit dem dokumentierten Schema übereinstimmen
- Lokale Verarbeitung: alles läuft im Browser, sensible Datenstrukturen bleiben bei dir
Häufig gestellte Fragen
Wie validiere ich API-Antworten mit JSON Schema?
Füge links dein JSON Schema und rechts die API-Antwort ein. Das Tool prüft automatisch Datentypen, Pflichtfelder, Regex-Patterns und mehr – der essentielle Schritt für API-Vertragstests und Frontend-Backend-Konsistenz.
Welchen JSON-Schema-Standard unterstützt das Tool?
Das Tool folgt dem JSON-Schema-Draft-07-Standard. Unterstützt werden: Typprüfung (type), Pflichtfelder (required), Eigenschaften (properties), Regex-Patterns (pattern), Formatvalidierung (format), Enum-Werte (enum) und Kombinationslogik (allOf, anyOf, oneOf, not).
Wie finde ich Fehler schnell, wenn die Validierung fehlschlägt?
Das Tool generiert einen detaillierten Fehlerbericht mit dem genauen JSON-Pfad, dem Fehlertyp (z. B. Typkonflikt oder fehlendes Pflichtfeld) und der betroffenen Schema-Regel – damit findest du Probleme sofort.
Wie nutze ich JSON Schema für Daten-Governance?
Vor dem Datenimport oder der ETL-Verarbeitung kannst du prüfen, ob Daten dem erwarteten Schema entsprechen. So fängst du fehlerhafte Datensätze frühzeitig ab und stellst die Datenqualität sicher.
Sind meine Daten bei der Validierung sicher?
Absolut. Die gesamte Validierung läuft lokal in deinem Browser. Weder API-Datenstrukturen noch sensible Geschäftsdaten werden an einen Server gesendet.
JSON Schema Schlüsselwörter Referenz
Die folgende Tabelle listet die am häufigsten verwendeten Validierungsschlüsselwörter der JSON Schema-Spezifikation auf, nach Kategorien geordnet zum schnellen Nachschlagen.
| Schlüsselwort | Beschreibung |
|---|---|
| Grundlegende Typen | |
type | Gibt den Datentyp an: string, number, integer, boolean, array, object, null. Unterstützt einzelnen Typ oder Array von Typen. |
| Objektvalidierung | |
properties | Definiert Sub-Schemas für Objekteigenschaften. |
required | String-Array, das angibt, welche Eigenschaften erforderlich sind. |
additionalProperties | Steuert, ob zusätzliche Eigenschaften erlaubt sind, die nicht in properties definiert sind; kann false oder ein Schema sein. |
propertyNames | Schema, dem Eigenschaftsnamen entsprechen müssen (verwendet häufig pattern-Regex). |
minProperties | Mindestanzahl von Eigenschaften, die ein Objekt enthalten muss. |
maxProperties | Maximalanzahl von Eigenschaften, die ein Objekt enthalten darf. |
| Enums & Konstanten | |
enum | Array erlaubter Werte; Daten müssen genau einem Wert aus dem Array entsprechen. |
const | Konstanter Wert; Daten müssen diesem Wert streng entsprechen. |
| Numerische Einschränkungen | |
minimum | Minimaler numerischer Wert (einschließlich). |
maximum | Maximaler numerischer Wert (einschließlich). |
exclusiveMinimum | Wert muss streng größer sein (ausschließlich). |
exclusiveMaximum | Wert muss streng kleiner sein (ausschließlich). |
multipleOf | Wert muss ein Vielfaches der angegebenen Zahl sein. |
| Zeichenketten-Einschränkungen | |
minLength | Minimale Zeichenkettenlänge. |
maxLength | Maximale Zeichenkettenlänge. |
pattern | Regulärer Ausdruck; Zeichenkette muss diesem Muster entsprechen. |
format | Semantische Formatvalidierung: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc. |
| Array-Einschränkungen | |
items | Schema für Array-Elemente (einzelnes Schema gilt für alle Elemente). |
minItems | Mindestanzahl von Array-Elementen. |
maxItems | Maximalanzahl von Array-Elementen. |
uniqueItems | Gibt an, ob Array-Elemente eindeutig sein müssen. |
contains | Mindestens ein Array-Element muss diesem Schema entsprechen. |
| Kombinatorische Logik | |
allOf | Daten müssen allen Sub-Schemas entsprechen (logisches UND). |
anyOf | Daten müssen mindestens einem Sub-Schema entsprechen (logisches ODER). |
oneOf | Daten müssen genau einem Sub-Schema entsprechen (exklusives ODER). |
not | Daten dürfen diesem Schema NICHT entsprechen (logisches NICHT). |
| Bedingte Validierung | |
if | Bedingtes Schema; wenn Daten if entsprechen, müssen sie then erfüllen; andernfalls müssen sie else erfüllen. |
then | Schema, das erfüllt werden muss, wenn die if-Bedingung zutrifft. |
else | Schema, das erfüllt werden muss, wenn die if-Bedingung nicht zutrifft. |
| Referenzen & Wiederverwendung | |
$ref | Verweist auf andere Schema-Definitionen; unterstützt lokale Referenzen (#/$defs/xxx) und Remote-Referenzen. |
$defs | Definiert wiederverwendbare Sub-Schemas (Draft 2019-09+; ältere Versionen verwenden definitions). |
definitions | Schlüsselwort für wiederverwendbare Sub-Schemas in Draft 4-7. |
| Metadaten | |
title | Schema-Titel (Annotation, nicht validiert). |
description | Schema-Beschreibung (Annotation, nicht validiert). |
default | Standardwert (Annotation, nicht validiert). |
examples | Array von Beispielwerten (Annotation, nicht validiert). |
$schema | Gibt die verwendete JSON Schema-Spezifikationsversion an. |
| Abhängigkeiten | |
dependentRequired | Eigenschaftsabhängigkeit: Wenn eine Eigenschaft vorhanden ist, müssen auch andere Eigenschaften vorhanden sein (Draft 2019-09+). |
dependencies | Abhängigkeitsschlüsselwort in Draft 4-7, das sowohl Eigenschafts- als auch Schema-Abhängigkeiten abdeckt. |
JSON Schema Versionsvergleich
JSON Schema hat sich durch mehrere Draft-Versionen weiterentwickelt. Draft 7 ist derzeit die am weitesten verbreitete Version; Draft 2020-12 ist die neueste stabile Version.
| Funktion | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| type-Validierung | ✓ | ✓ | ✓ | ✓ | ✓ |
| Pflichtfelder | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | boolean | number | number | number | number |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| pattern-Regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| format-Validierung | ✓ | ✓ | ✓ | nur Annotation standardmäßig | nur Annotation standardmäßig |
| items-Array | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| $ref-Referenzen | ✓ | ✓ | ✓ | ✓ | ✓ |
| $defs-Wiederverwendung | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| prefixItems-Tupel | Array-Form | Array-Form | Array-Form | Array-Form | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |
- JSON-Komprimierung
- CSV zu JSON
- JSON zu CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- JSON-Formatierung
- JSON-Generator
- JSONPath Online-Abfrage
- JSON zusammenführen
- JSON reparieren
- JSON Schema Validator
- JSON sortieren
- JSON Stringify
- JSON zu HTML-Tabelle
- JSON zu Java
- JSON zu Markdown
- JSON in SQL umwandeln
- JSON zu TOML
- JSON zu TypeScript
- XML zu JSON
- JSON zu XML
- YAML zu JSON
- JSON zu YAML
- JSON zu Python
- JSON zu Go
- JSON zu Rust
- JSON zu Swift
- JSON zu C#
- JSON zu C++
- JSON zu PHP