TK TaskKit
Developer-Tools

JSON-Schema-Validator

JSON gegen ein Schema validieren mit vollständigen Fehlerpfaden. Draft-07 und 2020-12, Format-Checks, alle Fehler auf einmal.

Schema
Daten
Validierung

Schema konnte nicht kompiliert werden: Code generation from strings disallowed for this context

Eingaben bleiben auf diesem Gerät. Alle Developer-Tools auf TaskKit laufen vollständig im Browser. Tokens, Payloads und eingefügte Texte werden weder an TaskKit noch an Dritte übertragen.

Was dieses Tool macht

Validiert ein JSON-Dokument gegen ein JSON-Schema und gibt entweder "valide" oder eine Liste von Fehlern mit dem exakten Instance-Pfad und Schema-Pfad pro Verstoß zurück. Unterstützt Draft-07 und Draft 2020-12, automatisch erkannt aus dem $schema-Feld, mit manueller Override. Format-Checks (email, uri, date-time, uuid usw.) sind aktiv.

Wann du es brauchst

  • Ein neues Schema entwerfen und gegen repräsentative Payloads testen.
  • Diagnostizieren, warum die API einen Request abgelehnt hat — passt der Body wirklich zur Doku?
  • Verifizieren, dass eine Config-Datei dem Team-Schema folgt, vor dem Commit.
  • Zwischen Draft-07 und 2020-12 migrieren und prüfen, dass nichts kaputt ging.

Wie es funktioniert

Unter der Haube nutzt das Tool Ajv (den JSON-Schema-Validator hinter den meisten JS-Tooling), gepinnt auf All-Errors-Mode, sodass du alle Probleme gleichzeitig siehst statt nach dem ersten zu stoppen. Format-Checks kommen aus ajv-formats. Schema und Daten werden lokal geparst; nichts wird verschickt.

Draft-Auswahl: hat das Schema "$schema": "https://json-schema.org/draft/2020-12/schema", nutzen wir den 2020-12-Dialekt; "http://json-schema.org/draft-07/schema#" wählt Draft-07. Ohne $schema ist Draft-07 der Default, weil er in der Praxis noch am häufigsten ist.

Hinweise

additionalProperties defaultet auf erlaubt — ist das richtig? Ja, laut Spec. Willst du Extra-Felder verbieten, setz "additionalProperties": false explizit. Mit Abstand häufigste Quelle von "ich dachte mein Schema sei strikt"-Überraschungen.

Was unterscheidet Draft-07 von 2020-12? 2020-12 überarbeitet References ($dynamicRef), splittet items in items und prefixItems und ändert die Behandlung von additionalItems. Alltägliche Schemas funktionieren in beiden, aber Tuple-Validation ist syntaktisch inkompatibel.

Warum matcht mein pattern-Regex in verschiedenen Validatoren unterschiedlich? JSON Schema spezifiziert ECMA-262-Regex-Syntax (den JavaScript-Dialekt). Validatoren in anderen Sprachen übersetzen — manchmal unsauber. Patterns im Regex-Tester prüfen.

Verwandte Tools