JSON formatieren und validieren
Unlesbares JSON lesbar machen, die Zeile eines Syntaxfehlers finden und die häufigsten Fehler beheben.
4 Min. Lesezeit
JSON begegnet dir überall: in API-Antworten, Konfigurationsdateien, Exporten aus Apps und Logzeilen. Maschinen schreiben es meist als eine lange Zeile ohne Leerzeichen. Das ist effizient, aber unlesbar. Außerdem ist JSON streng: Ein fehlendes oder überzähliges Komma macht alles ungültig. Formatieren löst das erste Problem, Validieren das zweite.
Was Formatieren und Validieren bedeutet
- Formatieren (Pretty Print) fügt Zeilenumbrüche und Einrückungen ein. Jeder Schlüssel steht in einer eigenen Zeile, die Verschachtelung ist sofort erkennbar.
- Minifizieren macht das Gegenteil: Es entfernt alle überflüssigen Leerzeichen, damit die Daten so klein wie möglich werden, etwa bevor du sie in einen Konfigurationswert einfügst.
- Validieren prüft, ob der Text den JSON-Regeln entspricht. Ein Formatierer muss die Daten zuerst parsen und validiert sie dabei automatisch.
So formatierst du JSON mit QodeCat
Der JSON-Formatierer & Validator läuft komplett in deinem Browser. Du kannst also auch API-Antworten mit Tokens oder Kundendaten einfügen, ohne dass sie irgendwohin geschickt werden.
- Füge dein JSON in das Feld Rohdaten ein oder öffne mit Hochladen eine .json-Datei. Hochgeladene Dateien werden sofort formatiert.
- Klick auf Formatieren, um die Daten mit zwei Leerzeichen einzurücken, oder auf Minifizieren, um alles in eine Zeile zu bringen. Das Ergebnis ersetzt deine Eingabe und erscheint rechts mit Syntaxhervorhebung und dem Hinweis Gültig.
- In der Werkzeugleiste siehst du die Größe der Daten und die Anzahl der Schlüssel auf oberster Ebene.
- Mit den Buttons zum Kopieren und Herunterladen nimmst du das Ergebnis mit. Der Download heißt formatted_data.json.
Ist das JSON fehlerhaft, erscheint ein Kasten Ungültiges JSON mit der Fehlermeldung deines Browsers. Deine Eingabe bleibt unverändert, damit du sie korrigieren kannst.
Die Fehlermeldung richtig lesen
Die Meldung kommt vom Browser und ist meist englisch. Eine Meldung wie Expected double-quoted property name in JSON at position 12 (line 3 column 1) sagt dir, wo der Parser aufgegeben hat, nicht immer, wo der Fehler steckt. Hier ist das eigentliche Problem ein überzähliges Komma am Ende von Zeile 2: Der Parser merkt es erst bei der schließenden Klammer. Schau dir also die gemeldete Stelle und das Zeichen davor an.
Die häufigsten JSON-Fehler
- Komma am Ende: {"a": 1,} oder [1, 2,]. JavaScript erlaubt das, JSON nicht.
- Einfache Anführungszeichen: {'name': 'Ada'}. Schlüssel und Strings brauchen doppelte Anführungszeichen.
- Schlüssel ohne Anführungszeichen: {name: "Ada"}. Jeder Schlüssel muss ein String in doppelten Anführungszeichen sein.
- Fehlende Kommas zwischen Einträgen, oft nach dem Zusammenkopieren von Zeilen.
- Kommentare (// oder /* */). Standard-JSON kennt keine Kommentare, entferne sie.
- Werte, die es nur in JavaScript gibt: undefined, NaN, Infinity oder Funktionen.
- Typografische Anführungszeichen („ “ oder “ ”) aus Textverarbeitung oder Chat statt gerader Anführungszeichen.
Drei Dinge, die du vor dem Formatieren wissen solltest
- Doppelte Schlüssel werden stillschweigend zusammengeführt. Kommt ein Schlüssel in einem Objekt zweimal vor, bleibt nach dem Formatieren nur der letzte Wert.
- Sehr große Ganzzahlen verlieren an Genauigkeit. Zahlen über 9.007.199.254.740.991, etwa manche 64-Bit-IDs, werden beim Parsen gerundet: Aus 12345678901234567890 wird 12345678901234567000. Speichere solche IDs als Strings.
- Schlüssel, die wie Ganzzahlen aussehen, rücken nach vorn. Bei {"b": 1, "2": 0} steht "2" nach dem Formatieren zuerst. Alle anderen Schlüssel behalten ihre Reihenfolge.
Verwandte Aufgaben: Tabellen wandelst du mit CSV zu JSON um, Konfigurationsformate mit YAML ↔ JSON, und mit JSON zu TypeScript erzeugst du Typen aus einem Beispiel.
Häufige Fragen
Verändert das Formatieren meine Daten?
Normalerweise ändern sich nur die Leerzeichen. Schlüssel und Werte bleiben gleich, mit den drei Ausnahmen oben: doppelte Schlüssel, zu große Ganzzahlen und zahlenartige Schlüssel, die nach vorn rücken.
Kann ich JSON mit Kommentaren formatieren?
Nicht direkt. Kommentare sind kein gültiges JSON, der Validator meldet einen Fehler. Entferne sie zuerst und formatiere dann.