ForHosting KIT · Daten & Dateien

JSON gegen Schema validieren

Finden Sie heraus, ob ein Datensatz die vorgesehenen Regeln erfüllt: Im Beispiel erfüllt Ada, 37 Jahre, mit den Schlagwörtern math und code jede Regel, die Liste der Probleme bleibt also leer. Schlägt etwas fehl, erhalten Sie alle Probleme in einem Durchgang. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.

Eine fehlende Kennung, eine unerwartete Eigenschaft, eine zu kurze Zeichenfolge oder eine Zahl außerhalb des erlaubten Bereichs kann einen Import lange nach dem Parsen stoppen. Jeder Eintrag enthält Dokumentpfad, Schemapfad, Schlüsselwort und eine verständliche Erklärung, damit Sie unmittelbar das zu korrigierende Feld finden.

Gut geschrieben heißt noch nicht korrekt

Daten können sich einwandfrei lesen lassen und trotzdem für das empfangende System falsch sein. Eine fehlende Kennung, ein unerwarteter Eintrag, ein zu kurzer Text oder eine Zahl außerhalb ihres Bereichs können einen Import lange nach dem fehlerfreien Lesen scheitern lassen. Das Lesen prüft nur die Zeichensetzung. In den Vorgaben stehen die eigentlichen Erwartungen: welche Einträge vorhanden sein müssen, welche Art von Wert jeder enthält, welche Grenzen gelten und ob anderes erlaubt ist. Dieses Werkzeug vergleicht die Daten mit diesen Vorgaben und listet alle Verstöße auf.

So lesen und nutzen Sie das Ergebnis

Eine leere Liste bedeutet, dass jede Regel erfüllt ist, wie im Beispiel: Ada, 37 Jahre, mit den Schlagwörtern math und code, erfüllt Vorgaben, die einen Namen mit mindestens zwei Buchstaben, ein ganzzahliges Alter nicht unter null, Schlagwörter ohne Wiederholung und keine weiteren Einträge verlangen. Jedes Problem nennt die Fundstelle, die verletzte Regel und eine verständliche Meldung. Die Meldung ist für Menschen, Fundstelle und Regel für die Automatisierung: Ein Formular kann das passende Feld hervorheben, ein Import wiederkehrende Fehler bündeln.

Prüfen Sie die Vorgaben, nicht nur die Schreibweise

Er weiß nicht, dass eine Bestellung eine Nummer braucht, eine Menge positiv sein muss oder ein Objekt unbekannte Felder ablehnen soll. Ein leeres Array bedeutet, dass alle geprüften Bedingungen erfüllt sind. Bei einem Fehlschlag bleiben sämtliche Probleme erhalten; die Prüfung endet nicht beim ersten.

Unterstützt werden unter anderem Typen, erforderliche und abhängige Eigenschaften, zusätzliche Eigenschaften, Array-Elemente, Längen, Muster, Zahlengrenzen, Konstanten, Aufzählungen, lokale Verweise und Schemakompositionen.

Lesen Sie Verstoßpfade ohne Rätselraten

Die leere Zeichenfolge bezeichnet die Dokumentwurzel; <code>/customer/email</code> verweist auf email in customer; <code>/lines/2/quantity</code> auf quantity im dritten Element. Nutzen Sie die Meldung für Oberflächen und Protokolle, Pfad und Schlüsselwort dagegen für Programmlogik. Ein Formular kann einen Fehler dem richtigen Eingabefeld zuordnen und eine Pipeline wiederkehrende Fehler gruppieren.

Datenimporte absichern

Validieren Sie Partnerdatensätze vor dem Laden, damit fehlende Felder und unerwartete Strukturen nicht weitergelangen.

Was liefert eine erfolgreiche Validierung?

Sie liefert valid mit dem Wert true und ein leeres violations-Array.

Endet die Prüfung beim ersten Problem?

Nein. Jeder Verstoß enthält Dokumentpfad, Schemapfad, Schlüsselwort und Meldung.

Wie lese ich die Fundstelle, die zu jedem Problem angegeben wird?

Eine leere Fundstelle steht für das ganze Dokument. Eine Fundstelle wie /customer/email bezeichnet die E-Mail innerhalb von customer, und /lines/2/quantity die Menge im dritten Element von lines, weil Positionen ab null gezählt werden.

Welche Arten von Regeln lassen sich festlegen?

Die Art jedes Werts, welche Einträge Pflicht sind oder von anderen abhängen, ob unerwartete Einträge erlaubt sind, Länge und Muster von Texten, Grenzen für Zahlen, feste Werte und Listen erlaubter Werte, Regeln für Listenelemente sowie Kombinationen mehrerer Regeln.

Warum können Daten, die sich fehlerfrei lesen lassen, trotzdem durchfallen?

Weil das Lesen nur bestätigt, dass Klammern, Anführungszeichen und Kommas stimmen. Es weiß nicht, dass eine Bestellung eine Nummer braucht, eine Menge positiv sein muss oder unbekannte Einträge abzulehnen sind; diese Erwartungen stehen in Ihren Vorgaben.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/data/json-schema-validate

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/data/json-schema-validate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document":{"name":"Ada","age":37},"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}'
{
  "document": {
    "name": "Ada",
    "age": 37
  },
  "schema": {
    "type": "object",
    "required": [
      "name"
    ],
    "properties": {
      "name": {
        "type": "string"
      }
    }
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.json_schema_validate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_mb25
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

JSON kann syntaktisch vollkommen korrekt und für das empfangende System dennoch falsch sein. Dieser Validator vergleicht ein JSON-Dokument mit einem JSON Schema und liefert alle erkannten Verstöße in einer Antwort.

Validieren Sie den Vertrag, nicht nur die JSON-Syntax

Ein JSON-Parser prüft lediglich, ob Klammern, Anführungszeichen, Kommas und Werte gültiges JSON bilden. JSON Schema beschreibt solche Erwartungen als maschinenlesbaren Vertrag. Übergeben Sie das Dokument in <code>document</code> und den Vertrag in <code>schema</code>. Das Ergebnis enthält das boolesche Urteil <code>valid</code> und das Array <code>violations</code>.

Lesen Sie Verstoßpfade ohne Rätselraten

Jeder Verstoß enthält einen <code>path</code> als JSON Pointer. Pointer-Escaping hält auch Eigenschaftsnamen mit Schrägstrich oder Tilde eindeutig. <code>schema_path</code> zeigt auf die auslösende Regel, während <code>keyword</code> eine stabile Kategorie wie <code>required</code>, <code>type</code> oder <code>minimum</code> liefert. Durch die deterministische Reihenfolge erzeugen dasselbe Dokument und Schema immer dieselbe Ausgabe.

Unterscheiden Sie fehlerhafte Schemas von ungültigen Daten

Ein ungültiges Dokument ist ein normales Prüfergebnis: Die Anfrage endet mit <code>valid</code> gleich false und erläutert alle Verstöße. Ein defekter Vertrag wird dadurch nicht mit schlechten Daten verwechselt. Ein fehlerhaftes Schema ist anders, weil keine verlässliche Prüfung möglich ist. Hat ein Schlüsselwort die falsche Form, ist ein Typ unbekannt, lässt sich ein regulärer Ausdruck nicht kompilieren, ist eine Zahlengrenze unsinnig oder kann ein lokaler Verweis nicht aufgelöst werden, liefert die Fähigkeit <code>invalid_input</code>. Die reine Implementierung greift nicht auf das Netzwerk zu und lädt keine entfernten Verweise; verwenden Sie lokale JSON-Pointer-Verweise, die mit <code>#/</code> beginnen. Die Prüfung eignet sich für API-Grenzen, Importe, strukturierte Ausgaben und Build-Pipelines. API-Anfragen beginnen bei $0.002; dieselbe Logik läuft im Browser.

Fehlerhafte API-Nutzlasten ablehnen

Prüfen Sie Anfrageinhalte und liefern Sie genaue Pfade für jedes Feld, das Clients korrigieren müssen.

Erzeugtes JSON prüfen

Prüfen Sie strukturierte Ausgaben auf Typen, Bereiche und Pflichtfelder, bevor ein anderes System darauf reagiert.

Was geschieht bei einem fehlerhaften Schema?

Die Anfrage schlägt mit invalid_input fehl, da ein fehlerhafter Vertrag keine verlässliche Prüfung erlaubt.

Werden entfernte Schemaverweise unterstützt?

Nein. Der Validator nutzt kein Netzwerk und unterstützt lokale JSON-Pointer-Verweise im übergebenen Schema.

Was kostet eine Validierung per API?

Jede Anfrage beginnt bei $0.002. Der Browser-Runner nutzt dieselbe reine Logik für interaktive Prüfungen.

Vollständige KIT-Dokumentation lesen →