Was ein JSON Formatter macht
JSON (JavaScript Object Notation) ist das häufigste Format, um Daten zwischen Programmen auszutauschen. APIs liefern es meist als eine lange Zeile ohne Leerzeichen, weil Leerraum Bytes kostet und der Computer ihn nicht braucht. Menschen brauchen ihn schon. Ein JSON Formatter fügt Zeilenumbrüche und Einrückung hinzu, damit du die Struktur siehst: welche Werte zu welchem Objekt gehören und wo jedes Array beginnt und endet.
Dieses Tool erledigt drei Aufgaben:
- Formatieren macht aus kompaktem JSON lesbares, eingerücktes JSON.
- Minifizieren entfernt jedes Leerzeichen und jeden Zeilenumbruch, der nicht in einem String steht.
- Validieren prüft das JSON gegen den Standard und meldet das erste Problem, das es findet.
So nutzt du es
- Füge dein JSON in das linke Feld ein. Es wird sofort beim Einfügen formatiert. Du kannst auch auf Datei öffnen klicken, um eine
.json-Datei zu laden, oder auf Beispiel, um ein Beispiel auszuprobieren. - Wähl eine Einrückung: 2 Leerzeichen, 4 Leerzeichen oder Tabs.
- Klicke auf Formatieren, Minifizieren oder Validieren. Strg+Enter führt die letzte Aktion per Tastatur aus.
- Schalte Schlüssel von A bis Z sortieren ein, wenn du alphabetische Schlüssel willst.
- Klicke auf Kopieren oder auf Herunterladen, um das Ergebnis als
.json-Datei zu speichern.
Nach dem ersten Durchlauf aktualisiert sich das Ergebnis beim Tippen. Du kannst also ein Problem beheben und zusehen, wie die Meldung verschwindet.
Vorher und nachher
Das ist eine typische API-Antwort ohne Leerraum:
{"id":42,"name":"Ada Lovelace","active":true,"roles":["admin","editor"],"address":{"city":"London","zip":"NW1"},"score":98.50,"manager":null}
Nach Formatieren mit 2 Leerzeichen:
{
"id": 42,
"name": "Ada Lovelace",
"active": true,
"roles": [
"admin",
"editor"
],
"address": {
"city": "London",
"zip": "NW1"
},
"score": 98.50,
"manager": null
}
Achte darauf, dass 98.50 als 98.50 stehen bleibt. Der Formatter liest deinen Text mit einem eigenen Parser und kopiert Zahlen Zeichen für Zeichen. Auch eine große ID wie 12345678901234567890 bleibt exakt, während ein Tool auf Basis von JSON.parse 12345678901234567000 ausgeben würde.
Ein Hinweis für deutsche Daten: In JSON ist der Punkt immer das Dezimaltrennzeichen. Eine Zahl wie 98,50 mit Komma ist ungültig und führt zu einem Fehler. Wenn deine Daten aus einer deutschen Tabelle stammen, stehen Dezimalzahlen dort oft mit Komma. Schreib sie als Strings oder wandle sie vorher um. Umlaute in Strings sind dagegen kein Problem, sie bleiben so, wie du sie eingefügt hast.
Mit Schlüssel von A bis Z sortieren und 4 Leerzeichen wird {"name":"Ada","age":36,"address":{"zip":"NW1","city":"London"}} zu:
{
"address": {
"city": "London",
"zip": "NW1"
},
"age": 36,
"name": "Ada"
}
Validieren liefert bei gültiger Eingabe eine kurze Zusammenfassung. Für das erste Beispiel meldet es: „Gültiges JSON. Die Wurzel ist ein Objekt mit insgesamt 12 Werten, 3 Ebenen tief verschachtelt.“
Fehlermeldungen, die du sehen kannst
Ist das JSON kaputt, nennt die Meldung unter den Feldern Zeile und Spalte, und In der Eingabe zeigen setzt den Cursor an diese Stelle. Das sind echte Meldungen des Tools:
| Fehler | Meldung |
|---|---|
| Komma nach dem letzten Element | Zeile 4, Spalte 1: Ein Komma direkt vor “}” ist nicht erlaubt |
| Einfache Anführungszeichen | Zeile 1, Spalte 2: Erwartet wurde ein Eigenschaftsname in doppelten Anführungszeichen, gefunden: ein einfaches Anführungszeichen (JSON-Strings brauchen doppelte Anführungszeichen) |
| Fehlendes Komma zwischen Elementen | Zeile 3, Spalte 3: Erwartet wurde “,” oder “}” nach einem Wert, gefunden: “”” |
| Schlüssel ohne Anführungszeichen | Zeile 1, Spalte 2: Erwartet wurde ein Eigenschaftsname in doppelten Anführungszeichen, gefunden: “n” |
Ein //-Kommentar |
Zeile 2, Spalte 3: Kommentare sind in JSON nicht erlaubt |
Diese Regeln stammen aus dem JSON-Standard. JavaScript-Objektliterale erlauben einfache Anführungszeichen, Schlüssel ohne Anführungszeichen und Trailing Commas, deshalb scheitert Code aus einer .js-Datei hier oft. Wenn deine Daten wirklich JavaScript sind, passt der JavaScript Formatter besser.
Tipps und Grenzen
- Nur striktes JSON.
undefined,NaN, Kommentare und Trailing Commas werden als Fehler gemeldet, weil andere Programme sie ebenfalls ablehnen. - Doppelte Schlüssel bleiben so, wie sie geschrieben wurden. Der Formatter führt sie weder zusammen noch entfernt er sie.
- Minifizieren lässt den Inhalt von Strings unangetastet, auch Leerzeichen darin.
- Um eine ganze Datei zu prüfen, nimm Datei öffnen. Alles bleibt auf deinem Gerät.
Andere Wege, JSON zu formatieren
VS Code. Öffne eine .json-Datei und führe Dokument formatieren über die Befehlspalette aus. VS Code nutzt dafür seinen eingebauten JSON-Formatter.
Kommandozeile mit jq. jq . data.json gibt formatiertes JSON aus, jq -c . data.json gibt es kompakt aus. Mit jq kannst du Daten auch filtern und umbauen.
Kommandozeile mit Python. python -m json.tool data.json formatiert eine Datei mit 4 Leerzeichen. Das gehört zur Standardbibliothek und funktioniert überall, wo Python installiert ist.
In JavaScript. JSON.stringify(JSON.parse(text), null, 2) formatiert einen String, geht aber über JavaScript-Zahlen. Lange IDs können dabei Stellen verlieren.
Ähnliche Tools
Um JSON in eine Konfigurationsdatei umzuwandeln, nimm den Konverter JSON in YAML. Um JSON in einen anderen JSON-String einzubetten, nimm Text in JSON-String umwandeln. Um JSON aus einem Tabellenexport zu bauen, probier CSV in JSON umwandeln.