Den deklarierten Dialekt wählen
Voreingestellt ist 2020-12. Eine widersprechende $schema-Deklaration führt zum Fehler. Tupel verwenden in Draft-07 ein items-Array, in 2020-12 prefixItems. Der Wechsel im Menü migriert keine bestehenden Regeln.
Schema und Nutzdaten prüfen
Starten Sie mit dem Beispiel. Die reine Schemaprüfung benötigt keine Nutzdaten; die Datenprüfung verarbeitet beide Eingaben.
Eingaben und Referenzen werden in diesem Browser verarbeitet; keine Prüfdaten werden hochgeladen oder entfernte Referenzen geladen.
Bereit für die manuelle Prüfung.
Ein JSON Schema Validator erkennt Zeichenketten statt erwarteter Ganzzahlen, fehlende Pflichtfelder und unerwartete Eigenschaften. Korrekte JSON-Syntax allein erfüllt keinen API-Vertrag. Vergleichen Sie die aufgezeichnete Antwort direkt mit den Regeln, bevor Sie die Ursache im Anwendungscode suchen.
JSON Schema validieren bedeutet hier, die vorhandenen Werte zu prüfen. Ein fehlender Schlüssel ist etwas anderes als null. Auch ein default ergänzt keine Daten, und eine Zahl in Anführungszeichen bleibt eine Zeichenkette.
Der JSON Schema Validator zeigt Datenpfad und Schemapfad zusammen. /users/0/age führt zum betroffenen Wert; bei required kann der Pfad auf das übergeordnete Objekt zeigen. Die Parameter nennen dann die fehlende Eigenschaft.
Importieren Sie Abhängigkeiten, ohne sie in das Hauptschema einzufügen. Die absolute $id registriert jede Datei. Relative Verweise werden gegen die Basis-URI aufgelöst; der Dateiname dient ausschließlich der Anzeige.
Voreingestellt ist 2020-12. Eine widersprechende $schema-Deklaration führt zum Fehler. Tupel verwenden in Draft-07 ein items-Array, in 2020-12 prefixItems. Der Wechsel im Menü migriert keine bestehenden Regeln.
Die Schemaprüfung liest, prüft und kompiliert das Hauptschema sowie alle importierten Abhängigkeiten, ohne die Daten auszuwerten. Jede Referenzdatei benötigt eine eindeutige absolute $id ohne Fragment. Ein fehlender Verweis stoppt die Kompilierung.
Ctrl/Cmd+Enter startet die manuelle Prüfung. Änderungen an Eingaben, Optionen oder Dateien beenden alte Aufgaben und sperren den Export. Beispielwechsel, Leeren und Entfernen einer Referenz zeigen zunächst eine Vorschau. Nach Anwenden stellt Rückgängig den vorherigen Zustand wieder her.
Dieser JSON Schema Validator verwendet Ajv für draft-07, 2019-09 und 2020-12. Bedingungen und Kombinationen folgen dem gewählten Dialekt. Unbekannte Schlüsselwörter stoppen die Kompilierung, statt unbemerkt wirkungslose Regeln zu erzeugen.
Bei der JSON-Schema-Validierung ist format zunächst deaktiviert. Mit aktiviertem Schalter prüft ajv-formats unter anderem email, date-time, URI und UUID. Unbekannte Formate scheitern dann bereits beim Kompilieren. pattern wird unabhängig davon geprüft.
Wenn Sie JSON Schema online prüfen, bleiben Syntaxfehler, fehlerhafte Regeln, unaufgelöste Verweise und Datenverstöße unterscheidbar. Nur abgeschlossene Berichte lassen sich exportieren. Die Oberfläche ist lokalisiert; technische Meldungen der Engine bleiben im englischen Original.
Die Prüfung bricht möglichst früh ab; zusammengesetzte Regeln können trotzdem mehrere Zweigfehler liefern. Lesen Sie instancePath, schemaPath, keyword und Parameter gemeinsam. Die Liste zeigt jeweils 50 Einträge, der Download den vollständigen akzeptierten Bericht.
Sie können draft-07, 2019-09 und 2020-12 wählen. Die Voreinstellung ist 2020-12. Eine vorhandene $schema-Deklaration muss zur Auswahl passen; ältere oder eigene Dialekte werden nicht stillschweigend als kompatibel behandelt.
Die Syntaxprüfung fragt, ob sich der Text als JSON lesen lässt. Erst danach wird geprüft, ob Werte die Typen, Pflichtfelder und weiteren Bedingungen des Schemas erfüllen. Eine syntaktisch gültige Zeichenkette kann deshalb an einer Ganzzahlregel scheitern.
Datenverstöße enthalten den Instanzpfad, den Schemapfad, das auslösende Schlüsselwort und Zusatzparameter. Die Engine-Meldung bleibt auf Englisch. Syntaxfehler werden nach Dokument und nach Möglichkeit mit Zeile und Spalte gekennzeichnet.
Je Dokument gelten 500.000 Zeichen, 50.000 Knoten und Tiefe 40, zusammen 1.000.000 Zeichen. Bis zu zehn Referenzdateien sind möglich. Das sind Zeichen- und Strukturgrenzen, kein pauschales Megabyte-Versprechen; zusätzlich gilt das Zeitlimit.
Ein JSON Pointer wie /items/0/name zeigt die Eigenschaft name des ersten Arrayelements. Die leere Zeichenkette bezeichnet die Wurzel; / bezeichnet dagegen einen leeren Schlüsselnamen. Bei required nennt ein Parameter die fehlende Eigenschaft am Elternobjekt.
Ein Schemafall braucht eine zweite Prüfung?
Nutzen Sie den JSON Schema Validator mit erlaubten und abgelehnten Datensätzen. Halten Sie Dialekt und Formateinstellung beim Bericht fest, um Unterschiede zwischen Umgebungen zu erklären.