...
Kontakt Kontakt

JSON formatieren, validieren und Fehler finden: die 6 Ursachen für „Unexpected token“

How to format, validate and debug JSON and fix Unexpected token errors How to format, validate and debug JSON and fix Unexpected token errors

„Unexpected token“ ist die nutzloseste Fehlermeldung der Webentwicklung – sie sagt nur, dass irgendwo etwas nicht stimmt. In der Praxis stecken hinter fast allen JSON-Fehlern sechs Ursachen, und wer sie kennt, findet die Stelle in Sekunden. Dieser Leitfaden zeigt sie mit Beispielen, erklärt, was JSON im Unterschied zu JavaScript nicht darf, und wie man aus einer 5.000-Zeilen-API-Antwort das findet, was man braucht. Wer die typischen JSON-Fehler kennt, findet die Stelle in Sekunden.

Was JSON ist – und was nicht

JSON ist ein Datenformat mit sehr wenigen Regeln: Objekte in geschweiften Klammern, Arrays in eckigen, Schlüssel immer in doppelten Anführungszeichen, Werte sind Strings, Zahlen, true/false/null, Objekte oder Arrays. Alles, was JavaScript darüber hinaus erlaubt – Kommentare, einfache Anführungszeichen, Funktionen, undefined, abschließende Kommas – ist in JSON verboten. Genau daraus entstehen die Fehler.

Die sechs Ursachen für JSON-Fehler

  1. Abschließendes Komma. {"a": 1, "b": 2,} – das Komma nach dem letzten Element ist ungültig.
  2. Einfache Anführungszeichen. {'name': 'Max'} – JSON kennt nur doppelte.
  3. Schlüssel ohne Anführungszeichen. {name: "Max"} – in JavaScript erlaubt, in JSON nicht.
  4. Kommentare. // Notiz oder /* ... */ gibt es in JSON nicht. Konfigurationsdateien, die Kommentare erlauben, sind JSON5 oder JSONC, kein JSON.
  5. Nicht entwertete Zeichen im String. Ein Zeilenumbruch oder ein Anführungszeichen innerhalb eines Strings muss als n bzw. " geschrieben werden.
  6. Abgeschnittene Daten. Die Antwort wurde beim Kopieren gekürzt – der Parser meldet „Unexpected end of input“. Prüfen Sie, ob die letzte Klammer da ist.

Fügen Sie den Text in den JSON-Formatierer ein: Er markiert die Zeile und Spalte des Fehlers und benennt die Ursache in Klartext.

Advertisement

Zahlen, die keine sind

Führende Nullen (007), Hexadezimalzahlen (0xFF), NaN und Infinity sind ungültig. Sehr große Ganzzahlen (über 2^53) verlieren in JavaScript Präzision – IDs deshalb als String übertragen.

Große Dateien lesbar machen

Eine API-Antwort mit 5.000 Zeilen liest niemand von oben nach unten. Die Baumansicht des Formatierers klappt Objekte auf und zu, die Suche findet Schlüssel überall in der Struktur, und der Pfad zu jedem Wert (data.items[3].price) lässt sich kopieren – genau das, was Sie im Code brauchen.

Formatieren vs. Minimieren

Formatiert (eingerückt) ist JSON für Menschen, minimiert (ohne Whitespace) für die Übertragung. Beide sind dieselben Daten; minimiert spart bei großen Antworten 20–40 % Bytes. In Konfigurationsdateien und Git-Repositories immer formatiert speichern – das macht Diffs lesbar.

Häufige Fragen

Warum akzeptiert mein Browser das JSON in der Konsole, aber der Server nicht?

Weil Sie in der Konsole ein JavaScript-Objektliteral eingeben, kein JSON. Der Server parst strikt.

Wie prüfe ich JSON im Terminal?

cat datei.json | python3 -m json.tool formatiert und meldet Fehler mit Position.

Ist die Reihenfolge der Schlüssel wichtig?

Laut Spezifikation nicht. Wenn Ihr Code sich darauf verlässt, ist er fragil.

Jetzt ausprobieren: JSON-Formatierer & Validator

Kostenlos, läuft im Browser, nichts wird hochgeladen, keine Anmeldung.

Tool öffnen →
Add a comment Add a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Submit Comment

Advertisement
Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.