Zum Inhalt springen
SDETRole
SDETRole

JSON & Daten

JSON Schema Validator

JSON gegen Draft 2020-12 oder Draft-07 prüfen oder Schema erzeugen.

Läuft vollständig in Ihrem Browser Ohne Anmeldung

Schema · 2020-12

JSON data

Paste a schema and some data, or load the sample

No schema yet? Paste a known-good response as data and click “Generate schema from data” to get a starting point.

Über dieses Tool

Schema-Validierung macht aus „die Response sieht richtig aus“ eine wiederholbare Vertragsprüfung: Pflichtfelder, Typen, Formate, Enums und Array-Strukturen. Dieser Validator nutzt Ajv, dieselbe Bibliothek wie viele JavaScript-Testsuites, zusammen mit ajv-formats für Prüfungen von E-Mail, date-time, uuid und uri. Jeder Fehler erscheint mit Instanzpfad (/items/1/qty) und einer verständlichen Meldung, und es werden alle Fehler gemeldet, nicht nur der erste. Haben Sie noch kein Schema, fügen Sie eine bekannt gute Response ein, erzeugen daraus ein Startschema und verschärfen es dann von Hand.

So funktioniert es

  1. Fügen Sie links das Schema und rechts die JSON-Daten ein oder laden Sie das Beispiel-Bestellschema mit absichtlich fehlerhaften Daten.
  2. Belassen Sie den Draft auf „Auto“, um dem $schema-Keyword des Schemas zu folgen, oder erzwingen Sie 2020-12 bzw. Draft-07.
  3. Beheben Sie die aufgeführten Fehler; das Ergebnis aktualisiert sich während der Eingabe.
  4. Für ein neues Schema fügen Sie eine echte Response als Daten ein und klicken auf „Generate schema from data“ (Schema aus Daten erzeugen).

FAQ zu JSON Schema Validator

Soll ich Draft 2020-12 oder Draft-07 verwenden?

Verwenden Sie, was Ihre übrigen Tools unterstützen. OpenAPI 3.1 orientiert sich an 2020-12, während viele ältere Validatoren und OpenAPI-3.0-Tools näher an Draft-07 sind. Die wichtigsten sichtbaren Unterschiede sind Tupel-Arrays (prefixItems in 2020-12, items als Array in Draft-07) sowie $defs gegenüber definitions.

Wie gut ist das erzeugte Schema?

Es ist ein Ausgangspunkt, abgeleitet aus einem einzigen Beispiel: Typen, verschachtelte Objekte, Strukturen von Array-Elementen, gängige String-Formate und jeder im Beispiel gefundene Key als Pflichtfeld. Welche Felder optional sind, welche Werte Enums sind oder welche numerischen Grenzen gelten, kann es nicht wissen. Prüfen Sie es also, bevor Sie es als Vertrag verwenden.

Warum wird eine ungültige E-Mail akzeptiert?

Das Keyword „format“ wird nur geprüft, wenn ein Validator Formatprüfungen aktiviert. Dieses Tool aktiviert sie über ajv-formats; tut Ihr Test-Framework das nicht, fügen Sie dort ebenfalls das Formats-Plugin hinzu, sonst gehen dieselben Daten durch.

Tippen Sie, um SDETRole zu durchsuchen.

Volltextsuche mit Pagefind · läuft in Ihrem Browser Suchseite öffnen →