Pflichtfelder kontrollieren
Beschreibe einen kleinen Vertrag mit required und properties und vergleiche API-Antworten. Ein vorhandener null-Wert braucht gegebenenfalls einen passenden Typ; er ist kein fehlendes Feld.
Prüft JSON-Dokumente gegen ein JSON Schema und zeigt Fehler mit Pfad und Regel präzise an.
Prüfe JSON-Daten anhand unterstützter Schemabedingungen und finde Fehler über Pfad und Schlüsselwort. Das erste Feld enthält Daten, das zweite das Schema. Gültiges JSON in beiden Feldern bestätigt noch keinen erfüllten Vertrag. Die Prüfung bleibt lokal und lädt keine entfernten Schemas. Die Implementierung deckt eine ausdrücklich begrenzte Teilmenge von JSON Schema 2020-12 ab, nicht sämtliche Erweiterungen.
Unterstützt werden type, const, enum, Zahlengrenzen und multipleOf. Zeichenketten nutzen minLength, maxLength und pattern. Arrays können minItems, maxItems, uniqueItems und ein einzelnes items-Schema verwenden. Für Objekte gelten properties, required, additionalProperties, minProperties und maxProperties. Auch allOf, anyOf, oneOf und not werden ausgewertet.
Das gesamte Schema wird vor den Daten geprüft, einschließlich aktuell ungenutzter Zweige. Falsch definierte unterstützte Bedingungen ergeben Schemafehler. $ref, $dynamicRef, prefixItems, contains, patternProperties, bedingte Abhängigkeiten, unevaluated-Regeln und if/then/else sind nicht implementiert. Ihre Anwesenheit führt zu einer ausdrücklichen Meldung statt irreführendem Erfolg.
format validiert in dieser Engine weder E-Mail-Adressen noch URLs oder Datumswerte. Annotationen wie title und description prüfen keine Werte. Wähle bei zusätzlichen Vokabularen oder Funktionen einen geeigneten Validator, statt Bedingungen nur für ein positives Ergebnis zu entfernen.
Zeichenkettenlängen zählen Unicode-Codepunkte, keine UTF-16-Einheiten oder visuell zusammengesetzten Zeichen. const, enum und uniqueItems ignorieren die Reihenfolge von Objekteigenschaften, erhalten aber Arrayreihenfolge und Skalartypen. Zahlen unterliegen JavaScript-Genauigkeit; sehr große Werte und Dezimalberechnungen brauchen eine passende Strategie in deiner Anwendung.
Ein gültiges Beispiel allein beweist kein korrektes Schema. Teste fehlende Pflichtfelder, falsche Typen und Grenzen einzeln. Beachte außerdem, dass eine nicht unterstützte Schemafunktion ausdrücklich gemeldet wird und keine erfolgreiche Teilprüfung als vollständige Bestätigung ausgegeben werden sollte.
Füge Werte ins JSON-Dokumentfeld und Regeln ins Schemafeld ein. Die Beispielschaltfläche zeigt die Trennung ohne externen Dienst.
Lies die Zusammenfassung sowie Pfad und Regel jeder Zeile. Ein Pfad mit $schema weist auf die Vertragsdefinition hin.
Ändere fehlerhafte Daten oder eine falsch definierte Regel. Änderungen an einem Feld blenden alte Ergebnisse aus; prüfe anschließend erneut.
Beschreibe einen kleinen Vertrag mit required und properties und vergleiche API-Antworten. Ein vorhandener null-Wert braucht gegebenenfalls einen passenden Typ; er ist kein fehlendes Feld.
Nutze uniqueItems, um gleichwertige Objekte trotz unterschiedlich geschriebener Eigenschaftsreihenfolge zu finden.
Unterscheide Datenfehler von ungültigen Schemas und nicht unterstützten Schlüsselwörtern. In den letzten Fällen wurde der vollständige Vertrag nicht geprüft.
Der Block zeigt beide Eingaben zusammen: document gehört ins erste und schema ins zweite Feld. Die Engine-Zusammenfassung bestätigt für 😀 eine Länge zwischen 1 und 1.
Eingabe
{
"document": "😀",
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 1
}
}Ergebnis
{
"valid": true,
"issues": []
}id enthält die Zeichenkette "1", während das Schema integer verlangt. Die Zusammenfassung nennt type bei $.id. Der Validator wandelt den Wert nicht automatisch in eine Zahl um.
Eingabe
{
"document": {
"id": "1"
},
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
}
},
"additionalProperties": false
}
}Ergebnis
{
"valid": false,
"issues": [
{
"path": "$.id",
"keyword": "type"
}
]
}Nein. Weder lokale noch entfernte Verweise werden ausgewertet. Sie erzeugen eine ausdrückliche Meldung; Schemadateien und URLs werden nicht geladen.
Diese Engine behandelt format nicht als prüfende Assertion. Verwende unterstützte Regeln oder einen Validator mit dem benötigten Formatvokabular.
Ein Emoji mit einem Codepunkt wie 😀 zählt als eins. Modifikatoren, kombinierende Zeichen oder Verknüpfungsfolgen können mehrere Codepunkte umfassen, obwohl sie wie ein einziges Zeichen aussehen.
Die Reihenfolge der Eigenschaften verändert den JSON-Objektwert nicht. const, enum und uniqueItems verwenden strukturelle Gleichheit. Bei Arrays bleibt die Elementreihenfolge bedeutsam.
Verwandte Werkzeuge
Werkzeuge, die diesem ähnlich sind oder es ergänzen.
Prüfe eine API-Beschreibung in JSON oder YAML ohne Upload.
Erzeuge lokal im Browser ein JSON Schema aus einem JSON-Beispiel.
Formatiere, komprimiere und prüfe JSON-Daten.