JSON-Schema-Prüfer
Validate any JSON document against a JSON Schema (Draft 7) and see exactly which paths fail and why. — kostenloses Online-Tool.
Kurze Antwort: JSON Schema Validator: Läuft im Browser, kostenlos, ohne Registrierung.
Zuletzt aktualisiert
Häufig gestellte Fragen
- Welcher JSON-Schema-Entwurf wird unterstützt?
- Entwurf 7 wird unterstützt, außerdem besteht umfassende Kompatibilität mit Funktionen aus Entwurf 2020-12, deren Semantik unverändert blieb. Die meisten gängigen Schemas funktionieren ohne Umwandlung.
- Welche Schlüsselwörter werden unterstützt?
- <code>type</code>, <code>enum</code>, <code>const</code>, <code>required</code>, <code>properties</code>, <code>additionalProperties</code>, <code>patternProperties</code>, <code>items</code> (einzeln + Tupel), <code>min/maxItems</code>, <code>uniqueItems</code>, <code>min/maxLength</code>, <code>pattern</code>, gängige <code>format</code>-Werte, <code>minimum/maximum</code> + exklusive Varianten, <code>multipleOf</code> sowie die Kombinatoren <code>allOf</code>/<code>anyOf</code>/<code>oneOf</code>/<code>not</code>.
- Werden <code>$ref</code>-Referenzen unterstützt?
- Nicht in diesem Tool — <code>$ref</code>-Verweise werden nicht aufgelöst. Fügen Sie das referenzierte Unterschema direkt ein oder verarbeiten Sie es vor dem Einfügen mit einem Tool wie <code>json-schema-ref-parser</code>.
- Welche Formate werden erkannt?
- <code>email</code>, <code>uri</code>, <code>uuid</code>, <code>date-time</code>, <code>date</code>, <code>time</code>, <code>ipv4</code> und <code>hostname</code>. Andere Formate werden stillschweigend akzeptiert (gemäß der optionalen Formatregel von Entwurf 7).
- Warum erhalte ich für einen scheinbar korrekten Wert „Wert nicht in enum“?
- Der Enum-Vergleich ist exakt — eine Zeichenfolge und eine Zahl stimmen nicht überein, selbst wenn die Ziffern gleich aussehen. Prüfen Sie die JSON-Typen auf beiden Seiten; <code>1</code> und <code>"1"</code> sind unterschiedliche Werte.
- Wie werden Fehler tief verschachtelter Objekte behandelt?
- Jeder Fehler enthält den Punktpfad ab der Wurzel. <code>$.users[3].profile.email</code> zeigt somit genau, welcher Wert korrigiert werden muss. Fehler werden in Dokumentreihenfolge aufgeführt.
- Werden alle Fehler gefunden oder stoppt die Prüfung beim ersten?
- Alle Fehler — die Prüfung wird nicht vorzeitig abgebrochen, sodass ein einzelner Durchlauf die vollständige Liste für die Korrektur liefert.
- Wird mein JSON hochgeladen?
- Nein — sowohl Schema als auch Dokument bleiben im Browser. Die Validierung erfolgt als reiner JavaScript-Durchlauf über beide Baumstrukturen.
- Wie groß darf ein zu validierendes Dokument sein?
- Dokumente bis zu mehreren Megabyte werden deutlich unter einer Sekunde validiert. Der Engpass ist das Rendern von Tausenden Fehlern, nicht die Validierung selbst.
- Warum funktioniert mein Schema in Ajv, aber nicht hier?
- Wahrscheinlich wegen <code>$ref</code>, <code>$dynamicRef</code> oder eines Schlüsselworts, das nur in Entwurf 2020-12 vorkommt, etwa <code>prefixItems</code>. Lösen Sie Referenzen direkt auf und wandeln Sie sie vor dem Einfügen in Entwurf-7-Entsprechungen um.