Direkt zum JSON-Editor
JSON Formatter Viewer

JSON-Formatter

input.json

Füge dein JSON hier ein

oder ziehe eine .json-Datei irgendwo in diesen Bereich

Hier erscheint die formatierte Ausgabe.

Warte auf Eingabe

Was Formatieren tatsächlich tut

JSON zu formatieren ist ein Parsen mit anschließendem Neu-Serialisieren. Das Dokument wird in einen Wert gelesen und dann mit einem Zeilenumbruch nach jedem Komma und einer festen Einrückung pro Verschachtelungsebene zurückgeschrieben. Am Datenmodell ändert sich nichts — nur die Bytes zwischen den Tokens.

Diese Unterscheidung ist wichtig, denn zwei Dinge werden auf dem Rundweg normalisiert, und man sollte wissen, welche:

  • Zahlen werden in ihrer kürzesten Form neu ausgegeben. 1.50 wird zu 1.5, 1e3 wird zu 1000 und -0 wird zu 0. Der Wert ist identisch, die Schreibweise kanonisch.
  • Unnötige String-Escapes fallen weg. "\u0041" wird zu "A". Escapes, die JSON verlangt — Anführungszeichen, Backslashes und Steuerzeichen — bleiben erhalten.
  • Ganzzahlen über 253−1 verlieren Genauigkeit. Das ist eine Eigenschaft des JavaScript-Zahlentyps, nicht dieses Werkzeugs. Trage große IDs als Strings.

Die Einrückungsbreite wählen

Das Einrückungsmenü wirkt sofort und wird für den nächsten Besuch gemerkt. Als Daumenregel:

  • 2 Leerzeichen — API-Antworten, alles, was in ein Code-Review kommt, und alles, was der Ausgabe von JSON.stringify(v, null, 2) entsprechen muss.
  • 4 Leerzeichen — handgepflegte Konfigurationsdateien, flach verschachtelt, aber mit langen Zeilen.
  • Tabulator — Dateien in einem Repository, in dem sich die Beteiligten über die Breite nicht einig sind.

Dieselbe Arbeit auf der Kommandozeile

jq . input.json formatiert mit 2 Leerzeichen — dieselbe Ausgabe, die diese Seite in der Standardeinstellung erzeugt. Die Browser-Variante gewinnt, wenn das JSON in der Zwischenablage und nicht in einer Datei liegt, wenn du lieber durch einen Baum klickst als 4.000 Zeilen zu lesen, oder wenn die Daten etwas enthalten, das du nicht durch ein ungeprüftes Werkzeug schicken willst.

Ein Dokument formatieren, das sich nicht parsen lässt

Ein Formatter kann nicht einrücken, was er nicht lesen kann: Ein ungültiges Dokument liefert daher einen Fehler statt einer Ausgabe. Der Fehlerbereich zeigt Zeile, Spalte, die betroffene Quellzeile mit einer Markierung genau unter dem Zeichen und das, was der Parser dort erwartet hat. Zum Fehler springen setzt den Cursor auf dieses Zeichen. Ist das Problem einer der häufigen Fast-JSON-Fehler, behebt Reparieren ihn und formatiert in einem Schritt — den vollständigen Katalog der Ursachen führt der Validator.

Häufige Fragen

Ändert Formatieren meine Daten?

Nur den Leerraum — es sei denn, du drückst zusätzlich „Schlüssel sortieren“. Reihenfolge der Eigenschaften, Reihenfolge der Arrays und alle Werte bleiben genau so, wie der Parser sie gelesen hat. Die beiden Ausnahmen — Zahlen und String-Escapes — sind oben erklärt.

Soll ich mit 2 Leerzeichen, 4 Leerzeichen oder Tabulator einrücken?

Zwei Leerzeichen sind der De-facto-Standard für JSON: Das geben JSON.stringify(value, null, 2), jq und Prettier aus. Vier Leerzeichen passen zu Konfigurationen, die ein Mensch von Hand pflegt. Tabulatoren lassen jeden seine Breite wählen und sind auf der Platte etwas kleiner.

Kann ich JSON formatieren, das noch nicht gültig ist?

Nicht direkt — Formatieren verlangt ein Parsen. Drücke zuerst „Reparieren“: Das behebt hängende Kommas, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen und Kommentare, und formatiert dann das Ergebnis.

Warum hat sich meine große Zahl verändert?

JavaScript-Zahlen sind IEEE-754-Doubles, deshalb verlieren Ganzzahlen über 2^53−1 beim Parsen Genauigkeit. Wenn deine Daten 64-Bit-IDs oder hochpräzise Dezimalzahlen enthalten, halte sie im JSON als Strings. Das betrifft jedes JSON-Werkzeug auf einer JavaScript-Engine, auch Node.

Der restliche Werkzeugkasten

Dieselbe Engine, derselbe Datenschutz — jede Seite läuft vollständig in deinem Browser.