DevToolPal
DE

JSON-Schema-Validator

Prüfen Sie JSON-Daten gegen ein JSON Schema (2020-12, 2019-09, Draft-07 oder Draft-04) und sehen Sie jeden Fehler mit Pfad.

Läuft lokal, wird nie hochgeladen

Optionen

JSON-Daten

JSON Schema

Prüfergebnis

Das Ergebnis erscheint hier

Was das Tool macht

JSON Schema ist ein Vokabular, das die Form von JSON-Daten beschreibt: welche Eigenschaften ein Objekt haben muss, welchen Typ jeder Wert hat, erlaubte Bereiche und Muster, Array-Längen und vieles mehr. APIs nutzen es in OpenAPI-Spezifikationen, Editoren für die Autovervollständigung in Konfigurationsdateien und Back-Ends, um fehlerhafte Anfragen abzulehnen.

Dieser Validator prüft ein JSON-Dokument gegen ein Schema und listet jedes gefundene Problem auf. Jeder Fehler zeigt die Stelle in den Daten (ein JSON Pointer wie /tags/1), eine verständliche Meldung und das fehlgeschlagene Schlüsselwort, damit Sie Daten oder Schema schnell korrigieren können. Unterstützt werden Draft 2020-12, 2019-09, Draft-07 und Draft-04, einschließlich $ref, $defs, allOf/anyOf/oneOf, if/then/else, unevaluatedProperties und Formatprüfungen.

So geht’s

  1. Fügen Sie die Daten in JSON-Daten und das Schema in JSON Schema ein oder laden Sie auf jeder Seite eine Datei hoch. Beispiel lädt einen Benutzerdatensatz mit ein paar absichtlichen Fehlern.
  2. Das Ergebnis aktualisiert sich beim Tippen: ein grünes Abzeichen bei gültigen Daten, sonst die Anzahl der Fehler und ihre Liste.
  3. Lassen Sie Version auf Automatisch, um $schema zu folgen, oder erzwingen Sie eine Version. Schalten Sie Alle Fehler melden aus, um beim ersten Fehler zu stoppen.
  4. Fehler kopieren kopiert die Liste als Klartext, etwa für einen Fehlerbericht oder ein Code-Review.

Ist eine der beiden Seiten kein gültiges JSON, nennt die Meldung, ob Daten oder Schema betroffen sind, samt Zeile und Spalte.

Beispiel

Mit diesem Schema:

{
  "type": "object",
  "required": ["id"],
  "properties": {
    "id": { "type": "integer" },
    "age": { "type": "integer", "minimum": 0 }
  }
}

ergibt das Dokument {"age": -1} zwei Fehler: An der (Wurzel) fehlt die Pflichteigenschaft id; bei /age liegt der Wert unter dem Minimum 0.

Tipps

Ergänzen Sie "additionalProperties": false, um falsch geschriebene Eigenschaftsnamen zu finden, die sonst unbemerkt durchgehen. Verwenden Sie enum oder const für feste Werte und pattern für Strings wie Produktcodes. Wächst das Schema, verschieben Sie wiederkehrende Teile nach $defs und verweisen Sie mit $ref darauf.

FAQ

› Welche JSON-Schema-Versionen werden unterstützt?

Draft 2020-12, 2019-09, Draft-07 (deckt auch Draft-06 ab) und Draft-04. Steht Version auf Automatisch, wird sie aus dem Schlüsselwort $schema gelesen; Schemas ohne $schema gelten als 2020-12.

› Was bedeuten die Pfade bei den Fehlern?

Der erste Pfad ist ein JSON Pointer auf den fehlerhaften Wert in Ihren Daten, etwa /items/2/price; (Wurzel) steht für das ganze Dokument. Die graue Zeile zeigt das fehlgeschlagene Schlüsselwort und seine Stelle im Schema, etwa minimum · #/properties/age/minimum.

› Werden Formate wie email und date-time geprüft?

Ja. Gängige Formate werden validiert: date, time, date-time, duration, email, hostname, ipv4, ipv6, uri, uri-reference, uuid, regex, json-pointer und weitere. Unbekannte Formate werden ignoriert, wie es die Spezifikation erlaubt.

› Kann das Schema andere Dateien referenzieren?

Referenzen innerhalb desselben Schemas funktionieren, zum Beispiel $ref auf #/$defs/address. Externe URLs werden nicht geladen, weil nichts Ihren Browser verlässt; fügen Sie referenzierte Definitionen in $defs ein.