JSON formatieren — Formatter, Minifier und Validator
JSON formatieren, minifizieren und validieren, Schlüssel sortieren, Fehler mit Zeile und Spalte
Verarbeitung im Browser · kein Hochladen
Was ist das?
Ein JSON-Formatter verwandelt eine lange JSON-Zeile in lesbaren, eingerückten Text oder entfernt alle überflüssigen Leerzeichen, um ihn kompakter zu machen. Nutzen Sie ihn, um eine API-Antwort zu untersuchen, eine Konfigurationsdatei aufzuräumen oder die Stelle zu finden, an der die Syntax kaputt ist. Das Ergebnis aktualisiert sich beim Tippen, eine Schaltfläche ist nicht nötig.
So funktioniert es
- Fügen Sie Ihr JSON in das Eingabefeld ein.
- Wählen Sie Einrückung mit 2 oder 4 Leerzeichen oder Tabulator oder „Minifizieren“.
- Aktivieren Sie „Schlüssel sortieren“, um Schlüssel nach Zeichencode zu ordnen. Das gilt auch für Objekte in Objekten und in Arrays.
- Kopieren Sie das Ergebnis. Bei einem Fehler werden Zeile und Spalte angezeigt – dort beginnen Sie mit der Korrektur.
Technische Details
- Die Grammatik ist JSON nach RFC 8259 (ECMA-404): Schlüssel und Strings nur in doppelten Anführungszeichen, keine Kommentare, keine abschließenden Kommas.
- Fehlerpositionen sind Zeilen und Spalten ab 1.
\n,\r\nund ein einzelnes\rzählen jeweils als ein Zeilenumbruch. Spalten zählen Zeichen (Codepunkte), ein Emoji belegt also eine Spalte, und das Zirkumflex unter der Fehlerzeile berücksichtigt Tabs. Zahlen, die zu Infinity überlaufen (etwa1e999), werden mit Warnung zunull, und Verschachtelungen über 512 Ebenen werden mit einer klaren Meldung abgelehnt. - Die Schlüsselsortierung wirkt auf allen Ebenen in Code-Unit-Reihenfolge (Großbuchstaben vor Kleinbuchstaben) und lässt die Reihenfolge in Arrays unverändert. Kommt ein Schlüssel in einem Objekt doppelt vor (
{"a":1,"a":2}), bleibt nach den JSON-Regeln nur der letzte Wert; das Ergebnis wird trotzdem erzeugt, aber eine Warnung nennt den Schlüssel sowie Zeile und Spalte der Wiederholung. Wegen der Funktionsweise von JavaScript-Objekten stehen ganzzahlige Schlüssel wie"1"und"2"immer zuerst in numerischer Reihenfolge, unabhängig von der Option. - Die Ausgabe lässt Umlaute, chinesische Zeichen und Emojis unverändert und maskiert nur, was JSON verlangt, etwa
\nund\". Ein Unicode-Escape wie"A"wird als"A"ausgeschrieben. - Zahlen werden als JavaScript-Number gelesen. Ganzzahlen über 2^53 bleiben nicht exakt erhalten, worauf eine Warnung hinweist.
Beispiele
| Eingabe | Option | Ergebnis |
|---|---|---|
{"b":1,"a":{"d":2,"c":3}} |
Minifizieren + Schlüssel sortieren | {"a":{"c":3,"d":2},"b":1} |
{"name":"Jürgen"} |
2 Leerzeichen | mehrzeilig, "name": "Jürgen" |
{"a": 1,} |
— | Zeile 1, Spalte 9: unerwartetes Zeichen } |
{"id": 12345678901234567890} |
Minifizieren | {"id":12345678901234567000} (mit Warnung) |
Häufige Fragen
Sehe ich, wo das JSON fehlerhaft ist?
Ja. Das Tool liest die Eingabe von vorn und meldet Zeile und Spalte des ersten Zeichens, das gegen die Regeln verstößt, samt dieser Zeile und einem Zirkumflex unter der Stelle. Die Position berechnet es selbst, statt sich auf Fehlertexte des Browsers zu verlassen, daher ist das Ergebnis in jedem Browser gleich.
Werden Kommentare oder abschließende Kommas akzeptiert?
Nein. Akzeptiert wird nur striktes JSON nach RFC 8259. Kommentare, abschließende Kommas, Strings in einfachen Anführungszeichen und Schlüssel ohne Anführungszeichen werden mit Fundstelle als Fehler gemeldet.
Können sich sehr große Zahlen ändern?
Ja. Das Tool nutzt den JSON-Parser von JavaScript, daher werden Ganzzahlen über 9007199254740991 (2^53-1) auf den nächsten darstellbaren Wert gerundet. Enthält die Eingabe eine solche Zahl, erscheint eine Warnung. Schreiben Sie IDs dieser Größe als Strings, wenn jede Ziffer zählt.
Wird mein JSON an einen Server gesendet?
Nein. Alles läuft in Ihrem Browser, nichts wird hochgeladen oder gespeichert.