JSON Schema Validator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
JSON Schema
JSON Data
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand JSON Schema Validator

Dieser Validator prüft ein JSON-Dokument gegen ein JSON Schema und listet jede Stelle auf, an der die Daten nicht passen, samt Pfad zum beanstandeten Wert.

How it works

Er läuft Daten und Schema gemeinsam durch und wendet auf jeder Ebene die Einschränkungen der Schlüsselwörter an: type (einschließlich integer), enum, required, properties, additionalProperties, pattern, minLength und maxLength, minimum und maximum, items, minItems und maxItems. Fehler tragen einen Pfad wie $.user.email, damit Sie den Wert in einem großen Dokument finden. Hat ein Wert den falschen Typ, endet der Durchlauf dort, weil jede weitere Prüfung an ihm nur Rauschen wäre.

When to use it

  • Prüfen, ob eine API-Antwort weiterhin der Struktur entspricht, die Ihr Client erwartet.
  • Ein Schema, das Sie gerade schreiben, gegen ein Beispiel testen, das bestehen soll, und eines, das scheitern soll.
  • Herausfinden, welches Feld in einer großen Payload ein Dienst ablehnt.
  • Bestätigen, dass eine Konfigurationsdatei zu dem Schema passt, das ihr eigenes Werkzeug veröffentlicht.

Watch out for

  • JSON Schema ist von Haus aus großzügig. Eine Eigenschaft, die nicht in properties steht, ist erlaubt, solange additionalProperties nicht false ist, und eine aufgeführte Eigenschaft ist optional, solange sie nicht in required genannt wird – ein Schema, das streng aussieht, ist es meist nicht.
  • Umgesetzt ist eine Teilmenge von draft-07. $ref, allOf, anyOf, oneOf, not, const und format werden nicht ausgewertet, ein Schema, das sie verwendet, meldet also nur zu den Teilen etwas, die geprüft werden können, und schweigt zum Rest.
  • type: number akzeptiert ganze Zahlen, und type: integer akzeptiert 1.0 ebenso wie 1, weil JSON nur einen Zahlentyp kennt und 1.0 diese Zahl ist.
  • Ein Typkonflikt unterdrückt die übrigen Fehler an diesem Wert, das Beheben eines Fehlers kann darunter also weitere zutage fördern.

Not the right tool for: Schemata, die sich auf $ref, die Kombinatoren oder format-Zusicherungen stützen. Ajv ist die Referenzimplementierung und prüft, was dieses Tool nicht kann.

Frequently Asked Questions

Welche JSON-Schema-Schlüsselwörter werden unterstützt?

Eine Kernteilmenge von draft-07: type (einschließlich integer und Typ-Arrays), required, properties, additionalProperties, enum, pattern, minLength/maxLength, minimum/maximum, items, minItems/maxItems und verschachtelte Schemata. Nicht umgesetzt: format, const, $ref sowie die Kombinatoren allOf/anyOf/oneOf/not. Für die vollständige Abdeckung von draft-07 nutzen Sie Ajv in Ihrem eigenen Build.

Was ist der Unterschied zwischen JSON Schema draft-07 und 2020-12?

draft-07 ist die am weitesten verbreitete Fassung (in vielen Werkzeugen die Voreinstellung). Draft 2020-12 ergänzt $dynamicRef, unevaluatedProperties und ein verbessertes Verhalten von $ref. Nehmen Sie draft-07, sofern Ihre Toolchain nicht ausdrücklich eine neuere Fassung verlangt.

Wie validiere ich eine API-Antwort gegen ein Schema?

Fügen Sie Ihre API-Antwort in das Feld "Data" und Ihre OpenAPI-/Swagger-Schemakomponente in das Feld "Schema" ein. Das ist nützlich, um sicherzustellen, dass API-Antworten der dokumentierten Struktur entsprechen, bevor Sie Client-Code schreiben.

How to Use JSON Schema Validator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.