Zum Inhalt springen

JSON formatieren

Machen Sie aus einer endlos langen JSON-Zeile etwas Lesbares – oder drücken Sie es wieder zusammen. Große Zahlen behalten jede Ziffer, was die meisten Online-Formatierer unbemerkt falsch machen. Es wird nichts gespeichert.

  • Nie gespeichert
  • Keine Warteschlange, kein Warten
  • Ohne Anmeldung, ohne Wasserzeichen
Einrückung
Formatiert

Das formatierte JSON erscheint hier.

So funktioniert’s

1

JSON einfügen

Oder legen Sie eine .json-Datei ab. Was Sie einfügen, bleibt auf dieser Seite – es wird nichts gespeichert.

2

Einrückung wählen

Zwei Leerzeichen, vier, Tabs oder minifiziert auf eine einzige Zeile. Ihre Wahl wird fürs nächste Mal gespeichert.

3

Kopieren oder herunterladen

Kopieren Sie das Ergebnis oder speichern Sie es als Datei. Ist das JSON fehlerhaft, erhalten Sie stattdessen Zeile, Spalte und Zeichen.

Was den Hin- und Rückweg übersteht

Formatieren heißt parsen und neu ausgeben, und Zahlen sind der einzige Teil, der als der von Ihnen getippte Text übernommen wird. Das reicht weiter als der Fall großer Ganzzahlen, den der Hinweis zählt: Jede Zahl, deren kürzeste JavaScript-Schreibweise von Ihrer abweicht, wird aus der Quelle neu ausgegeben – 1.10 behält seine Null am Ende, 1e5 bleibt in Exponentialschreibweise, und eine negative Null bleibt negativ. In der Warnung werden nur unsichere Ganzzahlen gezählt, weil dort die Alternative eine stille Verfälschung wäre und nicht bloß eine aufgeräumte Schreibweise.

Strings werden nicht als Text übernommen. Escape-Sequenzen werden beim Einlesen dekodiert und bei der Ausgabe neu geschrieben, \u0041 kommt also als A zurück und ein maskierter Schrägstrich ohne Maskierung. Der Wert ist identisch, die Bytes sind es nicht – das spielt nur in einer Situation eine Rolle, dort aber eine große: Wenn etwas weiter hinten zwei JSON-Dateien Byte für Byte vergleicht, ist es kein Nullvorgang, eine davon durch einen Formatierer zu schicken.

Zwei Verhaltensweisen auf Objektebene sollten Sie kennen, bevor Sie einer Neuformatierung vertrauen. Doppelte Schlüssel werden stillschweigend aufgelöst, der letzte gewinnt – genau so, wie der Parser des Browsers sie auflöst. Ein Dokument mit zwei „id“-Feldern wird ohne Beanstandung formatiert und kommt mit einem zurück, und nichts verrät Ihnen, dass es das andere gab. Und die Reihenfolge der Schlüssel entspricht nur bei Schlüsseln, die keine Ganzzahlen sind, der Ihrer Datei: Ein Objekt mit „1“, „2“ und „name“ kommt mit den Zahlenschlüsseln zuerst zurück, in numerischer Reihenfolge, weil JavaScript selbst Objekteigenschaften so ordnet. Gewöhnliche Schlüssel behalten die Reihenfolge, in der Sie sie geschrieben haben.

Wenn Sie etwas anderes brauchen

Wenn Sie eine tsconfig.json, eine ESLint-Konfiguration oder eine VS-Code-Einstellungsdatei haben, zeigt diese Seite auf die Kommentare und nachgestellten Kommas, statt um sie herum zu formatieren – für ein JSON-Tool die richtige Antwort und für Ihre Datei das falsche Tool. Das ist JSONC, und Ihr Editor parst es bereits; auf der Kommandozeile lesen json5 und dasel es, ohne so zu tun, als wäre es JSON.

Für alles über das Einrücken hinaus hat ein Formatierer die falsche Form. jq erledigt mit einem Ausdruck, wofür ein Einfügefeld keine Bedienelemente hat: jq -S . sortiert die Schlüssel jedes Objekts, damit sich zwei Antworten vergleichen lassen, jq 'del(.token)' entfernt ein Feld, bevor Sie eine Payload jemandem zeigen, und jq -c fasst ein Array von Objekten zu den JSON Lines zusammen, die eine Pipeline erwartet. Außerdem liest es eine Datei statt der Zwischenablage – der entscheidende Unterschied, sobald das Dokument größer ist, als Sie bequem markieren können.

Häufig gestellte Fragen

Wird mein JSON irgendwo gespeichert?

Nein. Es gibt keinen Serveraufruf und keine Protokollierung, und es wird nichts gespeichert. Sie können nach dem Laden der Seite die Internetverbindung trennen, und sie funktioniert weiter. Das ist hier wichtiger, als es aussieht: Was Menschen in einen Online-Formatierer einfügen, sind API-Antworten, Konfigurationsdateien und Fehlermeldungen – und die enthalten regelmäßig Tokens, Kundendaten und interne Hostnamen.

Warum bleiben große Zahlen hier exakt, wenn andere Formatierer das nicht schaffen?

Weil fast alle anderen sie stillschweigend kaputt machen. Eine JavaScript-Zahl ist ein 64-Bit-Float und kann ganze Zahlen daher nur bis 9.007.199.254.740.991 exakt darstellen. Alles, was größer ist – eine Twitter/X-Post-ID, ein Discord-Snowflake, eine Kontonummer, ein 64-Bit-Datenbankschlüssel –, verliert seine letzten Ziffern, sobald es durch `JSON.parse` läuft. Die Zahl sieht weiterhin plausibel aus, und genau das macht sie gefährlich: Aus 7205759403792793600 wird stillschweigend 7205759403792793000. Diese Seite behält die eingefügten Ziffern exakt bei und sagt Ihnen, wie viele Zahlen sie schützen musste.

Was passiert mit einer fehlerhaften Datei?

Sie erfahren, wo das Problem liegt, nicht nur, dass es eines gibt. Sie erhalten Zeilennummer, Spalte, die Zeile selbst mit einem Zirkumflex unter dem fehlerhaften Zeichen und eine Beschreibung in klaren Worten – „ein nachgestelltes Komma vor }“ statt „Unexpected token“. Nachgestellte Kommas, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen und nicht maskierte Zeilenumbrüche in Strings sind die vier Ursachen für den Großteil fehlerhafter JSON-Dateien, und jede wird konkret benannt.

Funktioniert es mit JSON Lines / NDJSON?

Ja, und die Form bleibt erhalten. JSON Lines ist ein vollständiger JSON-Wert pro Zeile – das Format von Logs und Datenexporten –, und es über mehrere Zeilen hinweg hübsch zu formatieren würde genau das zerstören, was es nützlich macht. Es wird automatisch erkannt, jede Zeile wird für sich formatiert, und das Layout mit einem Wert pro Zeile bleibt erhalten.

Kann es JSON mit Kommentaren oder nachgestellten Kommas reparieren?

Es zeigt genau auf sie, akzeptiert sie aber nicht stillschweigend. Kommentare und nachgestellte Kommas sind kein JSON – das ist JSON5 oder JSONC, was Konfigurationsdateien wie tsconfig.json tatsächlich verwenden. Ein Formatierer, der sie stillschweigend akzeptiert, würde Ihnen eine Datei liefern, die Ihr Parser dann ablehnt – schlimmer als eine Fehlermeldung hier.

Gibt es eine Größenbeschränkung?

Den verfügbaren Arbeitsspeicher, keine von uns gesetzte Grenze. Dokumente mit ein paar Megabyte werden sofort formatiert; sehr große sind dadurch begrenzt, wie viel gleichzeitig gehalten werden kann, nicht durch irgendetwas auf unserer Seite.

Verändert das Minifizieren meine Daten?

Nein. Beim Minifizieren wird nur der Leerraum zwischen den Tokens entfernt – Schlüssel werden nie umsortiert, Zahlenformate nie geändert, nichts wird weggelassen. Das Ergebnis ergibt beim Parsen exakt denselben Wert, nur kleiner.

Gut zu wissen: Die Formatierung ist exakt – das Dokument wird geparst und neu ausgegeben, alles, was sich parsen lässt, kommt also auch wieder heraus. Nur striktes JSON: Kommentare, nachgestellte Kommas und Schlüssel ohne Anführungszeichen werden abgelehnt statt stillschweigend repariert, denn reparieren hieße raten. Sehr große Dokumente liegen während der Formatierung doppelt im Arbeitsspeicher.

Dieses Tool auf Ihrer Website einbinden

Kostenlos für jeden Blog, jede Kursseite und jeden Hilfeartikel. Fügen Sie ein einziges Snippet ein, und Ihre Besucher können das Tool direkt auf Ihrer Seite nutzen.