LLM-JSON-Ausgabe prüfen
Füge ein JSON Schema und eine LLM-Antwort ein, um jeden Validierungsfehler mit JSON-Pfad und Zeile zu sehen. Codeblöcke, nachgestellte Kommas, einfache oder typografische Anführungszeichen, Kommentare und Python-True/None werden vorher korrigiert. Geprüft wird mit Ajv 8.20.0 (draft-07, 2019-09, 2020-12) im Browser.
So funktioniert’s
- Füge links das JSON Schema ein. Ein OpenAI-response_format-Objekt mit name und schema wird automatisch entpackt.
- Füge rechts die Ausgabe des Modells genau so ein, wie sie kam, auch mit Codeblock oder Text drumherum.
- Lies das Ergebnis. Jeder Fehler zeigt Zeile und Spalte (klicken springt dorthin), den JSON-Pfad und was nicht stimmt. Musste die Ausgabe erst bereinigt werden, stehen die Korrekturen dabei und das bereinigte JSON ist kopierbereit.
Berechnung
Die Ausgabe wird zuerst unverändert gelesen. Klappt das nicht, entfernt das Tool die häufigsten Modellfehler und versucht es erneut: einen Markdown-Codeblock, Text vor oder nach dem JSON, ein Byte Order Mark, typografische Anführungszeichen, Strings in einfachen Anführungszeichen, Kommentare mit // und /* */, nachgestellte Kommas sowie Python-True, -False und -None. Text innerhalb von Strings bleibt immer unverändert.
Das Schema wird mit Ajv 8.20.0 geprüft, einem verbreiteten JSON-Schema-Validator, der erst beim Einfügen geladen wird. Die Entwürfe 2020-12 und 2019-09 gelten, wenn das Feld $schema sie nennt, sonst draft-07. Gemeldet werden alle Fehler, nicht nur der erste.
Das Schlüsselwort format (email, date-time usw.) wird nicht geprüft, entfernte $ref-Links werden nicht abgerufen.
Nichts, was du einfügst, wird gespeichert, verschickt oder in die Seitenadresse geschrieben.
Die häufigsten LLM-Fehler
| Problem | Beispiel | Automatisch behoben |
|---|---|---|
| Codeblock | ```json { ... } ``` | Ja |
| Text um das JSON | Sure! Here it is: { ... } | Ja |
| Nachgestelltes Komma | {"a": 1,} | Ja |
| Einfache oder typografische Anführungszeichen | {'a': 'b'} | Ja |
| Pflichtfeld fehlt | {"title": "x"} | Nein, gemeldet |
| Falscher Typ | "rating": "5" | Nein, gemeldet |
| Zusätzliches Feld | "author": "x" bei additionalProperties false | Nein, gemeldet |
Von Anfang an gültige Ausgabe bekommen
- Nutze nach Möglichkeit den Modus für strukturierte Ausgabe des Anbieters. Striktes json_schema bei OpenAI und Structured Outputs bei Anthropic binden das Modell an das Schema.
- Strikte Modi verlangen, dass jede Eigenschaft in required steht und additionalProperties auf false gesetzt ist. Prüfe, ob dein Schema diese Regeln erfüllt.
- Wenn du Ausgaben ohne strikten Modus verarbeitest, behalte einen Bereinigungsschritt wie diesen und prüfe, bevor du den Daten traust.
Häufige Fragen
Warum lässt sich mein JSON nicht lesen, obwohl es richtig aussieht?
Typische Ursachen sind ein Komma nach dem letzten Element, ein Codeblock um das JSON oder typografische Anführungszeichen aus einem Chatfenster. Das Tool behebt das und zeigt, was es geändert hat.
Welche JSON-Schema-Entwürfe werden unterstützt?
Standardmäßig draft-07, dazu 2019-09 und 2020-12, wenn das Feld $schema das angibt.
Werden meine Daten hochgeladen?
Nein. Lesen und Prüfen laufen in deinem Browser, der Text wird weder gespeichert noch in die URL geschrieben.
Kann ich ein OpenAI-response_format-Objekt einfügen?
Ja. Ein Objekt mit name und schema oder mit json_schema.schema wird entpackt und das innere Schema verwendet.