Zum Inhalt springen
jsonbeautifiers
Deutsch

Über uns

Jedes Werkzeug hier ist eine Sicht auf einen einzigen JSON-Parser, von Grund auf geschrieben statt um JSON.parse gewickelt. Diese Entscheidung ist der Grund, warum es die Seite gibt.

Warum einen Parser schreiben

Den eingebauten Parser zu umwickeln ist das Naheliegende, und fast jedes Online-JSON-Werkzeug tut es. Es gibt Ihnen Validierung geschenkt. Es gibt Ihnen auch drei Probleme, die sich von außen nicht beheben lassen.

Die Fehler sind unbrauchbar. Ein eingebauter Parser meldet ein Problem und hört auf. Er gibt Ihnen eine für einen Compiler geschriebene Meldung, keinen Hinweis, was zu tun ist, und in mehreren Laufzeiten keine Zeilennummer. Wer ein kaputtes Payload hat, braucht das genaue Zeichen, was dort erwartet wurde, und die Lösung. Das zu bekommen heißt, den Scan selbst zu besitzen.

Er schreibt Ihre Daten um. Parsen Sie 12345678901234567890 und serialisieren es zurück, und Sie erhalten 12345678901234567000. Nichts warnt Sie. Ein so gebauter Formatierer hat Ihr Payload verändert, bevor er irgendetwas gedruckt hat, und bei einer ID oder einem Geldbetrag ist das ein ernster Fehler, der nach nichts aussieht. Unser Formatierer gibt den Quelltext jeder Zahl erneut aus, es kann also nicht passieren. Die vollständige Erklärung steht hier.

Er kann bei Eingaben, die fast JSON sind, nicht helfen. Nachgestellte Kommas, einfache Anführungszeichen, Python-Literale, Kommentare, ein aus einem Chat-Client eingefügtes geschütztes Leerzeichen. Um das zu beheben und zu erklären, was sich geändert hat, muss man es genau erkennen, was wiederum heißt, den Scan zu besitzen.

Was das eingebracht hat

  • Fehler mit Zeile, Spalte, hervorgehobenem Bereich, was erwartet wurde, und einer Lösung.
  • Jeder Fehler eines Dokuments auf einmal gemeldet, statt einer je Versuch.
  • Zahlen, die das Formatieren genau so überstehen, wie Sie sie eingefügt haben.
  • Doppelte Schlüssel mit der Position beider gemeldet.
  • Unsichtbare Zeichen genau benannt. Ein geschütztes Leerzeichen wird als geschütztes Leerzeichen in Zeile 4, Spalte 12 gemeldet und nicht als unerwartetes Token.
  • Ein Reparaturmodus, der Fast-JSON behebt und jede Änderung auflistet, wobei die Ermessensentscheidungen von den sicheren getrennt sind.
  • Ein iterativer Parser, sodass die Verschachtelungstiefe durch den Speicher begrenzt wird und nicht durch den Aufrufstapel.

Datenschutz ist hier eine technische Entscheidung, keine Marketingentscheidung

Im November 2025 haben zwei der größten Online-JSON-Formatierer mehr als 80.000 gespeicherte Einfügungen offengelegt, rund 5 GB, angesammelt über fünf Jahre. Die offengelegten Daten enthielten Active-Directory-Zugangsdaten, Cloud-Zugriffsschlüssel, persönliche Zugriffstoken und Bankunterlagen von Behörden, Gesundheitseinrichtungen und Luftfahrtunternehmen.

Das lehrreiche Detail ist nicht das Leck. Es ist, dass eine dieser Seiten Ihnen auf ihrer Startseite sagt, Ihre Daten würden im Browser validiert, während ihre Datei-Upload-Schaltfläche Ihre Datei an einen Server schickt. Beide Aussagen waren wahr, nur über verschiedene Funktionen, und niemand, der die Seite las, konnte erkennen, welche welche war.

Diese Seite bittet Sie deshalb nicht, einem Satz zu vertrauen. Jede Seite wird mit einer connect-src-Erlaubnisliste ausgeliefert, die genau ein Ziel nennt: den Analyse-Endpunkt, der Seitenaufrufe zählt. Es gibt keinen Upload-Endpunkt, keine Funktion zum Laden von einer URL, keine gespeicherten Links, keine Konten und keine Werbung, denn jedes davon bräuchte eine Ausnahme, die weit genug wäre, um Ihr Payload zu tragen. Hier steht, wie Sie das alles selbst prüfen.

Wie es gebaut ist

  • Statische Seiten, mit Astro gebaut. Kein serverseitiges Rendering und keine API.
  • Parser, Formatierer, Reparaturmaschine, CSV-Schreiber, XML-Parser, Diff und JSONPath-Engine sind alle für diese Seite geschrieben und von einer Testsuite abgedeckt, die bei jedem Build läuft.
  • CodeMirror 6 für den Editor, verzögert geladen hinter einem schlichten Textfeld, das für sich allein funktioniert. Monaco wären rund 5 MB gewesen.
  • js-yaml ist die eine Drittanbieter-Abhängigkeit zur Laufzeit, geladen nur auf den zwei YAML-Seiten. YAML 1.2 ist groß genug, dass eine Teilimplementierung Dokumente annehmen und stillschweigend falsche Werte liefern würde, und genau dieser Fehlermodus ist der Grund, warum es diese Seite gibt.
  • Alles Parsen und Formatieren läuft in einem Web Worker, sodass ein 10-MB-Dokument den Tab nicht einfriert.
  • Schriften sind selbst gehostet und auf Teilmengen reduziert. Nichts wird von einem CDN geholt.

Korrekturen

Das Argument der Seite ist, dass sie sorgfältig mit der Richtigkeit umgeht, was heißt, dass Fehler hier mehr zählen als anderswo. Jede auf dieser Seite zitierte Fehlermeldung wurde durch Ausführen des Parsers erzeugt und nicht aus dem Gedächtnis notiert: V8-Zeichenketten aus Node v24.15.0 und Python-Zeichenketten aus CPython 3.14.3. Die Zeichenketten von Firefox und Safari fehlen bewusst, weil wir sie nicht ausführen und prüfen konnten.

Wenn Sie etwas Falsches finden, sagen Sie es uns; es wird behoben und im Änderungsprotokoll festgehalten.

Wer sie pflegt

Dieser Abschnitt ist absichtlich leer statt mit einem plausibel klingenden Namen gefüllt. Bei der Recherche für diese Seite fand sich ein Wettbewerber, dessen Artikel-Markup einen Autor namens „Roronoa Zoro“ mit der Berufsbezeichnung „Infrastructure Engineer“ ausweist, eine erfundene Figur aus einer Manga-Serie. Eine Person zu erfinden, um ein Vertrauenssignal zu bedienen, ist schlimmer als gar kein Signal, also steht hier nichts, solange nichts Wahres hineingehört.