Über dieses Tool
Die JSON-Formatierung (oft als Pretty-Printing oder Verschönerung bezeichnet) verwendet kompaktes JSON und fügt Leerzeichen – Zeilenumbrüche, Einrückungen, konsistente Abstände – hinzu, um die Struktur für menschliche Leser sichtbar zu machen. Compact JSON ist das richtige Format für die Übertragung: Es minimiert die Anzahl der übertragenen Bytes und die Speicherung. Formatiertes JSON ist das richtige Format für die Inspektion: Die eingerückte Hierarchie zeigt verschachtelte Strukturen auf einen Blick, macht Unterschiede aussagekräftig und ermöglicht es Entwicklern, bestimmte Felder zu finden, ohne das Dokument gedanklich analysieren zu müssen.
Dieser Formatierer analysiert die Eingabe als JSON, um zu bestätigen, dass sie gültig ist, und gibt sie dann mit konsistenter Einrückung erneut aus. Eine ungültige Eingabe führt zu einem Fehler, der auf das Syntaxproblem hinweist. Gültige Eingaben werden neu formatiert, unabhängig davon, wie kompakt oder unübersichtlich die Quelle war. Die Einrückung erfolgt standardmäßig auf zwei Leerzeichen, was der gängigsten JavaScript-Konvention entspricht.
Der Formatierer bietet auch eine Minimierung (die umgekehrte Operation), die alle unnötigen Leerzeichen entfernt, um den kleinsten gültigen JSON-Code zu erzeugen. Die minimierte Ausgabe ist für die Produktionsübertragung nützlich. Die formatierte Ausgabe ist für die Entwicklung und das Debuggen nützlich.
Warum JSON formatieren?
Das Lesen von tief verschachteltem JSON ohne Einrückung ist grundsätzlich unmöglich – die Struktur ist technisch vorhanden, aber unsichtbar. Selbst mäßig komplexes JSON profitiert enorm von der Formatierung. Codeprüfer, API-Debugger und alle, die eine Datennutzlast verstehen möchten, benötigen formatiertes JSON, um zu sehen, was tatsächlich vorhanden ist.
Auch die Formatierung erkennt Fehler. Wenn JSON während der Formatierung nicht analysiert werden kann, gibt die Fehlermeldung die genaue Position des Syntaxproblems an – häufig ein fehlendes Komma, ein nicht in Anführungszeichen gesetzter Schlüssel oder ein verirrtes nachgestelltes Komma, das das produzierende System nicht gekennzeichnet hat. Ein Formatierer ist der einfachste verfügbare JSON-Validator.
Technische Details
Der Formatierer verwendet JSON.parse und JSON.stringify, dasselbe Paar, das in jeder JavaScript-Laufzeitumgebung enthalten ist. Das Parsen folgt RFC 8259 (der aktuellen JSON-Spezifikation) und akzeptiert striktes JSON, lehnt jedoch JavaScript-Objektliterale, Kommentare, nachgestellte Kommas und andere JSON5-Erweiterungen ab.
JSON.stringify akzeptiert ein Einrückungsargument: eine Zahl (Leerzeichen) oder eine Zeichenfolge (benutzerdefiniertes Einrückungszeichen, z. B. einen Tabulator). Der Formatierer stellt beide Optionen zur Verfügung. Die Ausgabe wird in der Quellreihenfolge für Objekte sortiert (seit ES2015 wird die Einfügereihenfolge der Eigenschaften in allen wichtigen Engines beibehalten).
Randfälle: Große Zahlen über Number.MAX_SAFE_INTEGER verlieren beim Parsen an Präzision (eine bekannte JSON-Einschränkung; verwenden Sie Zeichenfolgenwerte für IDs, die 2^53 überschreiten). Unicode-Escapezeichen in Zeichenfolgen bleiben buchstäblich erhalten. Nachfolgende Leerzeichen werden aus jeder Zeile entfernt.
Häufig gestellte Fragen
- Welche Arten von JSON-Fehlern erkennt dieses Tool?
- Das Tool erkennt fehlende Kommas, nicht übereinstimmende Klammern/geschweifte Klammern, ungültige Zeichenfolgen-Escapezeichen, nachgestellte Kommas, Zeichenfolgen in einfachen Anführungszeichen und andere Syntaxverstöße gemäß der JSON-Spezifikation RFC 8259.
- Kann es sehr große JSON-Dateien verarbeiten?
- Ja. Der Formatierer verarbeitet JSON in Ihrem Browser mithilfe nativer JavaScript-Analyse, sodass er Dateien mit einer Größe von bis zu mehreren Megabyte effizient verarbeitet. Bei extrem großen Dateien (50 MB+) hängt die Verarbeitungszeit von Ihrem Gerät ab.
- Unterstützt es JSON mit Kommentaren (JSONC)?
- Standard-JSON lässt keine Kommentare zu. Wenn Ihre Eingabe Kommentare enthält, werden diese vom Validator als Fehler gekennzeichnet. Entfernen Sie für die JSONC-Unterstützung Kommentare vor der Formatierung.
- Ändert die Formatierung meine Datenwerte?
- Nein. Durch die Formatierung werden nur Leerzeichen und Einrückungen angepasst – Ihre Datentypen, Werte und Struktur bleiben genau gleich.
- Werden JSON5-Funktionen unterstützt (Kommentare, nachgestellte Kommas)?
- Nein. Der Formatierer folgt strikt RFC 8259. JSON5-Funktionen verursachen Analysefehler. Um mit JSON5 zu arbeiten, konvertieren Sie zunächst mit einem JSON5-Parser in Standard-JSON.
- Wird mein JSON auf einen Server hochgeladen?
- Nein. Das Parsen und Formatieren erfolgt vollständig in Ihrem Browser mithilfe integrierter JSON-Funktionen.
- Verlieren große Zahlen an Präzision?
- JavaScript stellt Zahlen als 64-Bit-Floats dar, sodass Ganzzahlen über 2^53 (ca. 9 Billiarden) an Präzision verlieren. Speichern Sie IDs oder andere große Ganzzahlwerte als Zeichenfolgen in JSON.
- Kann ich die Schlüssel alphabetisch sortieren?
- JSON.stringify sortiert keine Schlüssel. Verwenden Sie einen separaten Sortierschritt (oder einen Formatierer mit Sortierunterstützung), um die Schlüssel vor der Stringisierung alphabetisch zu sortieren.