So funktioniert es
Füge dein JSON in das Eingabefeld ein, und das Ergebnis wird angezeigt. Wähle „Formatieren“ für eine Einrückung (2 Leerzeichen, 4 Leerzeichen oder ein Tabulator), damit die Struktur leicht zu erfassen ist, oder „Minimieren“, um alle überflüssigen Leerzeichen und Zeilenumbrüche zu entfernen und die Größe zu verringern. „Prüfen“ kontrolliert nur die Syntax, ohne etwas zu verändern. Schalte „Schlüssel sortieren“ ein, um die Schlüssel jedes Objekts rekursiv alphabetisch (genauer: nach Unicode-Code-Einheit) zu sortieren, und „Nicht-ASCII-Zeichen escapen“, um Zeichen wie Emojis oder Umlaute in \uXXXX-Schreibweise umzuwandeln. Ist dein JSON nicht gültig, siehst du statt eines Ergebnisses einen Fehler mit der genauen Zeile und Spalte sowie einem kurzen Ausschnitt des umliegenden Textes.
Formatieren, Minimieren und Prüfen sind drei unterschiedliche Aufgaben
Alle drei Modi arbeiten mit demselben JSON, aber zu unterschiedlichen Zwecken. „Formatieren“ (Pretty-Printing) fügt Einrückung und Zeilenumbrüche hinzu, damit ein Mensch das Dokument leicht lesen kann; „Minimieren“ macht das Gegenteil und entfernt diese Leerzeichen, um die Dateigröße zu verkleinern. Keiner der beiden verändert die eigentlichen Werte — abgesehen von den Ausnahmen, die weiter unten unter „Große Zahlen können an Präzision verlieren“ beschrieben sind (eine Zahl außerhalb des darstellbaren Bereichs wird zu null, bei einem doppelten Schlüssel bleibt nur der letzte Wert), und einer weiteren: Eine -0 in der Eingabe wird in der Ausgabe zu 0. „Prüfen“ dient nicht der Anzeige, sondern kontrolliert nur, ob das JSON syntaktisch korrekt ist. Alle drei Modi laufen intern über denselben Parser — ein erfolgreiches Formatieren oder Minimieren ist also selbst schon der Beweis, dass das JSON gültig war.
Häufige JSON-Syntaxfehler
Die Grammatik von JSON ist einfach, aber streng bei Kleinigkeiten. Zu den häufigsten Fehlern gehören ein überzähliges Komma nach dem letzten Element in einem Array oder Objekt (trailing comma, z. B. [1, 2, 3,]), Strings oder Schlüssel in einfachen statt doppelten Anführungszeichen (JSON erlaubt nur doppelte), Objektschlüssel ganz ohne Anführungszeichen ({name: "a"}), beim Bearbeiten stehen gebliebene //- oder /* */-Kommentare, eine führende Null bei einer Zahl (01) und die Verwechslung eines JavaScript-Objektliterals — das undefined-Werte oder trailing commas enthalten kann — mit JSON. Schaltest du „Kommentare & trailing commas erlauben“ ein, werden Kommentare und trailing commas vor dem Parsen automatisch entfernt; andere Syntaxfehler wie einfache Anführungszeichen oder Schlüssel ohne Anführungszeichen musst du trotzdem von Hand korrigieren.
JSON vs. JSON5 vs. JSONC
„JSON“ ist der strenge Standard nach RFC 8259 und ECMA-404: keine Kommentare, keine trailing commas, und Strings müssen in doppelten Anführungszeichen stehen. „JSON5“ und „JSONC“ (JSON with Comments, bekannt aus Editor-Konfigurationsdateien wie VS Codes settings.json) sind großzügigere Dialekte, die von Hand angenehmer zu schreiben sein sollen und Kommentare, trailing commas und teils auch Schlüssel ohne Anführungszeichen erlauben. Dieses Tool prüft standardmäßig striktes JSON, aber mit „Kommentare & trailing commas erlauben“ akzeptiert es die häufigsten JSON5/JSONC-Gewohnheiten — Kommentare und trailing commas —, indem es sie vor dem Parsen entfernt. Diese Option lässt // und Kommas innerhalb von String-Werten bewusst unangetastet.
Große Zahlen können an Präzision verlieren
JavaScript hat nur einen Zahlentyp, ein IEEE-754-Double mit doppelter Genauigkeit, das Ganzzahlen nur bis 2^53 - 1 (9007199254740991, 16 Stellen) exakt darstellen kann. Enthält ein JSON-Dokument ein längeres Ganzzahl-Literal — etwa eine 64-Bit-Snowflake-ID, wie sie manche Systeme verwenden — rundet JSON.parse sie auf den nächstliegenden darstellbaren Wert, wobei sich die letzten Stellen stillschweigend ändern, ohne dass ein Fehler gemeldet wird. Dieses Tool durchsucht den Rohtext vor dem Parsen nach Ganzzahl-Literalen mit 16 oder mehr Stellen und zeigt nur eine Warnung, ohne den Wert zu verändern (ihn etwa in einen String umzuwandeln würde die Struktur deines Dokuments verändern). Brauchst du den exakten Wert, speichere ihn schon an der Quelle als String, oder nutze ein Tool, das gezielt für große Ganzzahlen gebaut ist.
Zwei weitere Fälle verändern Werte ohne Fehlermeldung, und das Tool warnt bei beiden. Eine Zahl, die für ein Double überhaupt zu groß ist, etwa 1e400, wird als Infinity gelesen und im Ergebnis zu null. Und kommt derselbe Schlüssel in einem Objekt mehrfach vor, behält JSON.parse nur den letzten Wert und verwirft die früheren stillschweigend.
Datenschutz
Das eingefügte JSON wird ausschließlich in diesem Browser-Tab verarbeitet und nirgendwo gespeichert oder übertragen. Schließt du die Seite, ist die Eingabe weg.