JSON-Formatierer

Formatiere oder minimiere JSON und sieh genau, wo eine ungültige Eingabe scheitert.

Einrückung
Eingabe
Ausgabe

Die Ausgabe erscheint hier

Was dieser JSON-Formatierer macht

JSON (JavaScript Object Notation) ist das gängigste Format, um strukturierte Daten zwischen Programmen zu bewegen – API-Antworten, Konfigurationsdateien, Log-Zeilen und mehr. Es ist auf Kompaktheit ausgelegt, was es auch schwer lesbar macht, sobald Objekte einige Ebenen tief verschachtelt sind oder in einer einzigen Zeile ankommen. Dieses Werkzeug nimmt beliebiges JSON, das du einfügst, und schreibt es auf zwei Arten neu: verschönert, mit einheitlicher Einrückung, damit die Struktur auf einen Blick erkennbar ist, oder minimiert, von jedem optionalen Leerzeichen befreit, um beim Senden so klein wie möglich zu sein.

Es validiert außerdem beim Formatieren. Da es den Text vor dem erneuten Serialisieren parst, erzeugt ungültiges JSON nie eine irreführende Ausgabe – stattdessen erhältst du die genaue Zeile und Spalte, an der das Parsen fehlschlug, um direkt zum Problem zu springen.

Verschönern vs. Minimieren – wann was

Die beiden Modi verfolgen entgegengesetzte Ziele, und die meisten Arbeitsabläufe nutzen beide in verschiedenen Phasen:

  • Verschönere, wenn du liest oder debuggst: eine API-Antwort inspizieren, zwei Payloads vergleichen oder eine Konfigurationsdatei in einem Pull Request prüfen. Einrückung macht aus einer Textwand einen durchsuchbaren Baum.
  • Minimiere, wenn du auslieferst: JSON in HTML einbetten, in einem Cookie oder Cache speichern oder im Rumpf einer Anfrage senden, wo jedes Byte zählt. Minimiertes JSON sind byte-genau dieselben Daten, nur ohne die Leerzeichen.

Die Einrückungsauswahl (2 Leerzeichen, 4 Leerzeichen oder Tab) betrifft nur die verschönerte Ausgabe. Zwei Leerzeichen ist die häufigste Konvention in JavaScript und im Web-Tooling; vier Leerzeichen oder Tabs passen zu Teams, die sie bevorzugen. Was du auch wählst, das Ergebnis bleibt gültiges JSON – die Einrückung ist rein kosmetisch.

Validierungsfehler lesen

Wenn das JSON ungültig ist, meldet das Werkzeug Zeile und Spalte des ersten Problems statt einer vagen „ungültig“-Meldung. Fehlermeldungen der Engines unterscheiden sich zwischen Browsern und lassen oft eine Position aus, daher wird der Ort unabhängig berechnet und zeigt auf eine vernünftige Stelle zum Anfangen. Behebe den ersten Fehler und prüfe erneut – ein einzelnes fehlplatziertes Zeichen führt oft zu mehreren scheinbaren Problemen.

Häufige JSON-Fehler

JSON ist strenger als die JavaScript-Objektliterale, denen es ähnelt. Das sind die Fehler, die am häufigsten auftreten:

  • Abschließende Kommas: ein Komma nach dem letzten Element eines Objekts oder Arrays ist in JavaScript gültig, aber nicht in JSON.
  • Einfache Anführungszeichen: JSON-Zeichenketten und -Schlüssel müssen doppelte Anführungszeichen verwenden. 'Wert' ist ungültig; "Wert" ist korrekt.
  • Schlüssel ohne Anführungszeichen: jeder Objektschlüssel muss eine Zeichenkette in Anführungszeichen sein, daher muss { name: "x" } zu { "name": "x" } werden.
  • Kommentare: JSON hat keine Kommentarsyntax. // und /* */ führen zu einem Parse-Fehler.
  • Spezielle Zahlen: NaN, Infinity und -Infinity sind keine gültigen JSON-Zahlen.
  • Falsche Anführungszeichen: „typografische Anführungszeichen“, die aus einer Textverarbeitung eingefügt wurden, sehen wie Anführungszeichen aus, sind aber andere Zeichen und werden nicht geparst.

Häufig gestellte Fragen

Wird mein JSON an einen Server gesendet?
Nein. Parsen, Validieren und Formatieren erfolgen alle in deinem Browser mit JavaScript. Nichts, was du einfügst, wird hochgeladen, gespeichert oder protokolliert, daher ist es mit sensiblen Payloads sicher.
Ändert das Formatieren meine Daten?
Nein. Verschönern und Minimieren fügen nur Leerzeichen zwischen Token hinzu oder entfernen sie. Schlüssel, Werte, Zahlen und die Struktur sind identisch – nur die Anordnung ändert sich.
Warum ordnet oder formatiert es meine Zahlen um?
Das Werkzeug parst JSON in echte Werte und serialisiert sie zurück, sodass Zahlen in ihre kanonische Form normalisiert werden (zum Beispiel wird aus 1e3 1000). Der Wert bleibt gleich; nur seine textuelle Darstellung ist standardisiert.
Kann es sehr große JSON-Dateien verarbeiten?
Es kann große Payloads verarbeiten, aber da alles im Browser läuft, können extrem große Dateien (zig Megabyte) je nach Gerät langsam sein oder Speichergrenzen erreichen.
Behält es die Reihenfolge der Objektschlüssel bei?
Ja. Die Schlüsselreihenfolge bleibt genau so erhalten, wie sie in deiner Eingabe erscheint – das Werkzeug sortiert Schlüssel nicht.
Was ist der Unterschied zwischen JSON und einem JavaScript-Objekt?
JSON ist ein Textformat für den Datenaustausch; ein JavaScript-Objekt ist ein Wert im Speicher. JSON ist strenger: Es verlangt Schlüssel und Zeichenketten in doppelten Anführungszeichen, verbietet abschließende Kommas und Kommentare und erlaubt nur eine feste Menge von Werttypen (Zeichenketten, Zahlen, Booleans, null, Arrays und Objekte).
Kann ich JSON5 oder JSONC (JSON mit Kommentaren) formatieren?
Nein. Dieses Werkzeug validiert striktes, standardkonformes JSON. JSON5 und JSONC fügen Kommentare und andere Annehmlichkeiten hinzu, die nicht Teil der JSON-Spezifikation sind, und werden daher als Fehler gemeldet.