So formatierst du JSON
- Füge dein JSON in das Eingabefeld ein. Das kann eine einzelne Zeile aus einer API-Antwort sein oder eine ganze Datei.
- Wähle Formatieren, um einzurücken (2 Leerzeichen, 4 Leerzeichen oder Tabulatoren), oder Minimieren, um alle Leerzeichen zu entfernen. Das Ergebnis aktualisiert sich beim Tippen.
- Schalte Schlüssel von A bis Z sortieren ein, um die Schlüssel jedes Objekts alphabetisch zu ordnen, was den Vergleich zweier Dokumente erleichtert.
- Ist das JSON ungültig, erscheint eine rote Fehlermeldung mit Zeile und Spalte, an der der Parser abgebrochen hat.
- Klicke auf Kopieren, um das Ergebnis in die Zwischenablage zu legen.
Alles passiert in deinem Browser mit den eingebauten Funktionen JSON.parse und JSON.stringify. Nichts wird hochgeladen, du kannst also unbedenklich Konfigurationsdateien oder API-Antworten einfügen, die vertrauliche Daten enthalten.
Was ist JSON?
JSON (JavaScript Object Notation) ist ein schlankes Textformat zum Speichern und Austauschen von Daten. Es wird von fast jeder Web-API verwendet, von Konfigurationsdateien wie package.json und von vielen Datenbanken. Ein JSON-Dokument besteht aus sechs Arten von Werten:
- Objekte — Schlüssel-Wert-Paare in geschweiften Klammern, z. B.
{"id": 7}. Schlüssel müssen Zeichenketten in doppelten Anführungszeichen sein. - Arrays — geordnete Listen in eckigen Klammern, z. B.
[1, 2, 3]. - Zeichenketten — Text in doppelten Anführungszeichen. Sonderzeichen werden mit einem Backslash maskiert, etwa
\nfür einen Zeilenumbruch. - Zahlen — Ganzzahlen oder Dezimalzahlen wie
42oder-3.14. Das Dezimaltrennzeichen ist immer der Punkt, nie das Komma, und es gibt keine führenden Nullen und keinNaN. - Boolesche Werte —
trueoderfalse, kleingeschrieben. - null — ein leerer Wert.
Formatieren oder minimieren: ein Beispiel
Das Beispiel im Feld oben ist minimiert. Es besteht aus 68 Zeichen in einer Zeile:
{"name":"ToolHub","tools":["json","words"],"free":true,"users":1200}
Nach Formatieren mit 2 Leerzeichen steht jeder Schlüssel in einer eigenen Zeile und verschachtelte Werte sind eingerückt, sodass du die Struktur auf einen Blick erfasst. Formatiertes JSON lässt sich leichter lesen, in einem Pull Request prüfen und debuggen. Minimiertes JSON ist kleiner: Bei großen Datenmengen spart das Entfernen von Leerraum oft 10–20 %, was zählt, wenn die Daten viele Male über das Netzwerk gehen. Die Daten selbst sind in beiden Fällen identisch.
Häufige JSON-Fehler und wie du sie behebst
- Komma am Ende —
[1, 2,]ist in JavaScript gültig, in JSON aber nicht. Lösche das letzte Komma. - Einfache Anführungszeichen —
{'name': 'Ana'}schlägt fehl. Zeichenketten und Schlüssel brauchen doppelte Anführungszeichen. - Schlüssel ohne Anführungszeichen —
{name: 1}muss als{"name": 1}geschrieben werden. - Kommentare — Standard-JSON erlaubt weder
//noch/* */. Entferne sie oder nutze ein Format wie JSONC, falls dein Werkzeug es unterstützt. - Nicht maskierte Zeichen — ein roher Zeilenumbruch oder Tabulator in einer Zeichenkette ist nicht erlaubt; nutze
\nund\t. - Falsche Literale —
True,Noneundundefinedstammen aus anderen Sprachen. JSON akzeptiert nurtrue,falseundnull. - Komma als Dezimaltrennzeichen —
{"preis": 49,90}ist ungültig. Schreibe{"preis": 49.90}, auch wenn du im Alltag das Komma nutzt.
Tipp: Zeigt der Fehler auf eine Zeile, sieh dir auch das Zeichen direkt davor an. Oft liegt die eigentliche Ursache in einem fehlenden Komma oder Anführungszeichen in der Zeile davor, weil der Parser das Problem erst ein Token später bemerkt.
Häufige Fragen
Wird mein JSON an einen Server gesendet?
Nein. Formatierung und Validierung passieren vollständig in deinem Browser mit dem in JavaScript eingebauten JSON-Parser.
Was bedeutet JSON minimieren?
Beim Minimieren werden alle unnötigen Leerzeichen und Zeilenumbrüche entfernt, damit das JSON kleiner über das Netzwerk geht. Die Daten bleiben dieselben.
Warum ist mein JSON ungültig?
Häufige Ursachen sind Kommas am Ende, einfache statt doppelte Anführungszeichen, Schlüssel ohne Anführungszeichen und Kommentare. Die Fehlermeldung zeigt Zeile und Spalte des Problems.