Alle Artikel

JSON Repair: warum JSON kaputtgeht und wie man es repariert

„Kaputtes" JSON ist ein häufiges Problem: Die Datei sieht fast richtig aus, aber ein Parser weigert sich, sie zu lesen. Oft liegt die Ursache in einer Zahl, die einfach im deutschen Zahlenformat aus Excel kopiert wurde.

Häufige Ursachen für ungültiges JSON

  • Ein überzähliges Komma vor einer schließenden Klammer — {"a": 1,} —, das JavaScript toleriert, ein strenger JSON-Parser aber nicht.
  • Einfache Anführungszeichen statt doppelte — häufig beim Kopieren aus einem JavaScript-Objektliteral.
  • Nicht in Anführungszeichen gesetzte Schlüssel{name: "Anna"} statt {"name": "Anna"}.
  • Kommentare — die JSON-Spezifikation sieht überhaupt keine Kommentare vor, im Gegensatz zu JSON5 oder JSONC.
  • Abgeschnittene Ausgabe — wird eine API-Antwort oder Logdatei mittendrin abgeschnitten, bleibt das Dokument unabgeschlossen.

Das Komma als Dezimaltrennzeichen — eine stille Falle

Im deutschen Zahlenformat trennt ein Komma die Nachkommastellen, ein Punkt gruppiert die Tausender: „1.234,50" ist ein ganz normaler Preis in einer Excel-Tabelle oder einem CSV-Export. Kopiert man das unverändert in ein JSON-Feld, sieht der Parser bei {"preis": 1.234,50} keine Dezimalzahl, sondern die Zahl 1.234, gefolgt von einem Komma an unzulässiger Stelle und einem losen Token 50. Ein Reparaturwerkzeug kann hier bestenfalls raten, ob 1234,50 oder 1.234 gemeint war — genau der Fall, in dem man das Ergebnis von Hand nachprüfen sollte, statt sich blind auf die Heuristik zu verlassen.

Wie automatische Reparatur funktioniert

Ein JSON-Reparatur-Tool wendet Heuristiken an: fehlende Anführungszeichen ergänzen, überzählige Kommas entfernen, nicht geschlossene Klammern anhand des Kontexts schließen. Das funktioniert gut bei typischen, häufigen Fehlern, ist aber keine Magie — das Tool kann nicht erraten, welcher Wert gemeint war, wenn die Daten schwerer beschädigt sind.

Die Grenzen des Möglichen

Automatische Reparatur behebt Syntax, nicht Semantik. Fehlt ein ganzes Feld, oder ist ein Wert logisch falsch, erkennt das Tool das nicht — das Ergebnis muss trotzdem manuell geprüft werden, besonders wenn die Zahlen ursprünglich aus einer deutschen Excel-Tabelle stammen.

Wenn die Reparatur mehrdeutig ist

Manche Beschädigungen lassen mehrere gleichermaßen plausible Korrekturen zu. Ein abgebrochener String wie {"a": 1, "b": 2 lässt sich einfach mit einer Klammer schließen — und dabei Daten verlieren, falls eigentlich noch ein weiteres Feld gemeint war. In solchen Fällen trifft die Reparatur-Heuristik die „am wenigsten zerstörerische" Annahme, aber das ist eine Vermutung, keine Garantie.

Tool ausprobieren