JSON-Formatierer

Formatiert JSON mit 2 oder 4 Leerzeichen Einrückung oder komprimiert es auf eine Zeile und zeigt bei ungültiger Eingabe die Fehlermeldung des Parsers.

Wird geladen…

So funktioniert es

  1. Fügen Sie JSON in das Feld ein oder tippen Sie es ein. Das Ergebnis wird während der Eingabe aktualisiert.
  2. Wählen Sie unter „Einrückung“ „2 Leerzeichen“ oder „4 Leerzeichen“ für eine lesbare Ausgabe oder „Komprimieren“, um allen Leerraum zu entfernen und alles in eine Zeile zu schreiben.
  3. Ist die Eingabe kein gültiges JSON, wird statt des Ergebnisses die Fehlermeldung des Parsers angezeigt. Nach der Korrektur erscheint das Ergebnis wieder.
  4. Mit „Kopieren“ übernehmen Sie das Ergebnis in die Zwischenablage.

Häufige Fragen

Wird mein JSON an einen Server gesendet?
Nein. Die Formatierung erfolgt im Browser mit dessen eingebautem JSON-Parser.
Warum wird mein JSON als ungültig angezeigt?
Die Eingabe muss striktes JSON sein. Häufige Ursachen sind ein Komma nach dem letzten Element, einfache statt doppelter Anführungszeichen, Schlüssel ohne Anführungszeichen und Kommentare (// oder /* */). Auch Werte wie undefined, NaN oder Infinity sind nicht erlaubt.
Wo genau liegt der Fehler?
Die Meldung stammt vom JSON-Parser des Browsers, daher ist der Wortlaut je nach Browser verschieden. Meist wird die Position oder Zeile und Spalte genannt, an der das Einlesen abbrach; der eigentliche Fehler steht in der Regel genau dort oder kurz davor.
Verändert die Formatierung meine Daten?
Die Ausgabe wird aus den eingelesenen Daten neu erzeugt und kann daher vom Original abweichen. Kommt ein Schlüssel im selben Objekt doppelt vor, bleibt nur der letzte Wert erhalten; ganzzahlige Schlüssel (etwa "1" oder "2") rücken aufsteigend sortiert an den Anfang; und Escapes wie \u00e9 werden zum eigentlichen Zeichen (é). Wie sich Zahlen ändern können, steht in der nächsten Frage.
Warum hat sich eine lange Zahl verändert?
Zahlen werden als JavaScript-Gleitkommazahlen doppelter Genauigkeit gelesen. Ganzzahlen über 9007199254740991 und Dezimalzahlen mit sehr vielen Stellen können sich daher ändern, 1.0 wird als 1 und 1E2 als 100 ausgegeben, und Zahlen außerhalb des Wertebereichs wie 1e400 werden zu null. Lange IDs sollten als Strings gespeichert werden, wenn jede Ziffer zählt.