Prüfe JSON gegen ein Schema, hole Werte mit JSONPath heraus und erzeuge realistische Testdaten, alles in deinem Browser. Nichts wird hochgeladen, daher ist es für private Daten sicher. Kostenlos und ohne Konto.
So nutzt du das JSON-Toolkit
- Öffne den Tab „Validieren“, „JSONPath“ oder „Testdaten“. „Beispiel laden“ zeigt ein funktionierendes Set.
- Validieren: Füge deine JSON-Daten und ein JSON Schema ein, drück „Beide aufräumen“, um sie zu formatieren, und lies die aufgelisteten Probleme.
- JSONPath: Füge dein JSON ein, gib einen JSONPath-Ausdruck ein und lies das Ergebnis. „Pfade anzeigen“ ergänzt den Ort jedes Treffers, mit „Ergebnis kopieren“ nimmst du es mit.
- Testdaten: Füge ein Schema oder einen Beispieldatensatz ein (oder nimm „Beispieldatensatz ausprobieren“), lege die Anzahl der Datensätze und einen Seed fest und wähle die Ausgabe: JSON-Array, NDJSON (einer pro Zeile) oder CSV.
- Drücke Kopieren oder Herunterladen.
Was der Validator prüft
Die Kernschlüsselwörter von JSON Schema Draft 2020-12 und Draft 07: type, properties, required, additionalProperties, patternProperties, items und prefixItems, enum, const, Zahlen- und Längenlimits, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else und $ref auf lokale Definitionen wie #/$defs/address. Geprüft werden die Formate email, uri, date, time, date-time, uuid, ipv4, ipv6 und hostname. Jedes Problem wird mit seinem Pfad aufgelistet, etwa $.items[2].price, damit du es schnell findest.
JSONPath in Kürze
$ ist die Wurzel, .name wählt einen Schlüssel, ..name sucht in jeder Tiefe, * passt auf alles, [0] und [-1] wählen nach Position und [0:3] nimmt einen Ausschnitt. Filter wie [?(@.price < 10)] behalten Elemente, die einen Test bestehen; du kannst mit ==, !=, <, > vergleichen, mit =~ /text/i einen regulären Ausdruck prüfen, mit [?(@.isbn)] prüfen, ob ein Schlüssel existiert, und Tests mit && und || kombinieren.
Realistische Testdaten
Füge ein Schema ein und erhalte Datensätze, die es erfüllen, mit Zahlen zwischen Minimum und Maximum, Zeichenfolgen, die zu Länge, Muster und Format passen, und Werten aus jedem Enum. Füge stattdessen einen Beispieldatensatz ein, und seine Form wird übernommen. Feldnamen steuern die Werte, daher erhalten email, first_name, city, price, created_at und is_active glaubwürdige Inhalte, und E-Mails passen zu den Namen im selben Datensatz.
Tipps
- Nutze denselben Seed, um dieselben Testdaten erneut zu erhalten, so werden Tests wiederholbar.
- Wenn die Prüfung fehlschlägt, behebe den ersten Fehler und prüfe erneut, denn ein Fehler kann mehrere auslösen.
- Beginne mit dem JSONPath
$..name, um in einer großen Datei nach einem bekannten Schlüssel zu suchen. - Nutze die NDJSON-Ausgabe für Tools, die einen Datensatz pro Zeile lesen.
Für wen
Entwickler, die eine API testen, Analysten, die Felder aus einem Export ziehen, und Studierende, die JSON lernen. Verwandte Tools: JSON zu Typen, Formatkonverter und Diff-Vergleich.
Fragen
Wird mein JSON hochgeladen?
Nein. Alles läuft in deinem Browser.
Welche Schema-Versionen werden unterstützt?
Draft 2020-12 und Draft 07, für die oben aufgeführten Schlüsselwörter.
Sind die Testdaten echt?
Nein. Sie sind erfunden und lassen sich daher bedenkenlos teilen und in Tests verwenden.