S
SoSimple.tools
Entwickler-Tool

JSON Formatter & Validator Online

Formatieren, minimieren und prüfen Sie JSON sofort. Alles läuft in Ihrem Browser; diese Seite lädt den eingefügten Text nicht hoch

Läuft in Ihrem Browser: Ihre Eingaben bleiben auf Ihrem Gerät

Ausgabe

Tool teilen

So nutzen Sie das Tool

  1. Fügen Sie Ihr JSON in das Feld „Rohe JSON-Eingabe“ ein.
  2. Wählen Sie den Einzug: 2 Leerzeichen, 4 Leerzeichen oder Tabulator.
  3. Klicken Sie auf Formatieren für die lesbare Darstellung oder auf Verkleinern, um optionalen Leerraum zu entfernen.
  4. Lesen Sie den Status (gültiges JSON oder Parse-Fehler) samt Rohgröße und Knotenzahl ab und kopieren Sie die Ausgabe.

Rechenbeispiel

Fügen Sie {"name":"Ana","tags":["a","b"],} ein, zeigt der Status einen Parse-Fehler, weil JSON kein abschließendes Komma erlaubt. Entfernen Sie das letzte Komma und klicken Sie auf Formatieren: Der Status wechselt auf gültiges JSON, mit 31 Bytes Rohgröße und 4 Knoten ("Ana", das Array tags und seine zwei Strings). Verkleinern liefert dann die kompakte Fassung für eine Anfrage oder Konfigurationsdatei. Beachten Sie: Die Ausgabe wird aus dem geparsten Wert neu erzeugt, sehr große Ganzzahlen über 2^53 − 1 können daher an Genauigkeit verlieren, und doppelte Schlüssel behalten nur den letzten Wert.

Methodik

Das Tool validiert und gibt JSON mit den eingebauten Browser-Funktionen JSON.parse() und JSON.stringify() wieder aus. Die Grammatik stammt aus RFC 8259 (und ECMA-404): Ein Dokument ist ein einzelner Wert (Objekt, Array, String, Zahl, true, false oder null), Strings und Schlüssel brauchen doppelte Anführungszeichen, und Kommentare, nachgestellte Kommas, NaN, undefined sowie Zahlen mit führenden Nullen werden abgelehnt.

Was Schaltflächen und Zähler tun: „Formatieren“ rückt den geparsten Wert mit 2 Leerzeichen, 4 Leerzeichen oder einem Tabulator ein; „Verkleinern“ entfernt alle optionalen Leerzeichen. Die „Rohgröße“ ist die Länge Ihrer Eingabe in UTF-8-Bytes, ohne Leerraum am Anfang und Ende. „Knoten gesamt“ zählt jeden Wert, der in Objekten und Arrays steckt, nicht aber den äußeren Container: {"a":[1,2]} hat 3 Knoten (das Array und seine zwei Zahlen).
Grenzen von Einlesen und Wiederausgeben: Die Ausgabe wird aus dem geparsten Wert neu erzeugt und kann deshalb von der Eingabe abweichen. Ganzzahlen über 9.007.199.254.740.991 (2^53 - 1) werden auf den nächsten Double-Wert gerundet: 12345678901234567890 wird zu 12345678901234567000. Eine Zahl wie 1e999 läuft über und wird als null ausgegeben. Wiederholt ein Objekt einen Schlüssel, bleibt nur der letzte Wert erhalten, und Schlüssel, die wie Array-Indizes aussehen ("2", "10"), wandern aufsteigend sortiert nach vorn. Prüfen Sie diese Fälle, bevor Sie sich bei IDs oder exakten Geldbeträgen auf die Ausgabe verlassen.

Was ein JSON-Formatter nicht für Sie repariert

Die meisten Ärgernisse entstehen, weil man vom Tool etwas erwartet, wofür es nicht gebaut ist. Hier fünf Fälle und das, was auf dieser Seite wirklich passiert.

  • Formatieren soll kaputtes JSON reparieren. Das Tool parst und gibt nur wieder aus. Bei ungültiger Eingabe erscheint „Parse-Fehler“, und im Ausgabefeld steht die Fehlermeldung Ihres Browsers statt einer korrigierten Fassung.
  • Logzeilen oder JSON Lines einfügen. Zwei Objekte in zwei Zeilen sind kein einzelnes JSON-Dokument. {"a":1} gefolgt von {"a":2} scheitert am Beginn von Zeile 2. Fügen Sie jeweils einen Datensatz ein oder setzen Sie die Objekte durch Kommas getrennt in [ ].
  • Einen doppelt kodierten String einfügen. Beginnt und endet der Text mit Anführungszeichen und steckt voller Backslashes, etwa "{\"id\":7}", ist das gültiges JSON, aber nur ein einziger String. Die Anzeige sagt „Gültiges JSON“, „Knoten gesamt“ ist 0 und nichts wird eingerückt. Entfernen Sie zuerst die äußeren Anführungszeichen und die Backslashes.
  • Erwarten, dass die Rohgröße nach Verkleinern sinkt. Die Rohgröße ist die Bytelänge Ihrer Eingabe und ändert sich daher nicht. Das Beispiel { "name": "Ana", "tags": ["a", "b"] } hat 37 Byte, die minimierte Ausgabe 31. Fügen Sie die Ausgabe erneut ein, um die neue Größe zu sehen.
  • Davon ausgehen, dass Zahlen ihre Schreibweise behalten. Werte werden aus dem geparsten Wert neu ausgegeben: 19.90 wird zu 19.9, 1E2 zu 100 und -0 zu 0. Wenn Nachkommanullen wichtig sind, speichern Sie solche Werte als Strings.

Ähnliche Tools

Häufige Fragen

Wird das eingefügte JSON an einen Server gesendet? ▼

Diese Seite lädt es nicht hoch. Parsen und Formatieren übernimmt JavaScript in Ihrem eigenen Browser, und die Seite speichert den Text nicht. Was außerhalb der Seite liegt, etwa Browser-Erweiterungen, ein gemeinsam genutzter Rechner oder eine Bildschirmaufnahme, kann sie nicht kontrollieren. Tauschen Sie deshalb API-Schlüssel oder Tokens, die Sie in ein Online-Tool eingefügt haben, dem Sie nicht ganz vertrauen, vorsichtshalber aus.

Warum zeigt mein JSON einen Parse-Fehler? ▼

Typische Ursachen sind ein nachgestelltes Komma (wie in {"name": "Ana",}), einfache statt doppelte Anführungszeichen, Schlüssel ohne Anführungszeichen, Kommentare, die Werte NaN oder undefined, Zahlen mit führenden Nullen wie 007 sowie echte Zeilenumbrüche oder Tabulatoren innerhalb eines Strings. Der genaue Wortlaut der Meldung stammt von Ihrem Browser (Chrome, Firefox und Safari formulieren unterschiedlich) und nennt meist das unerwartete Zeichen oder die Position.

Warum hat sich eine große Zahl oder ein doppelter Schlüssel in der Ausgabe geändert? ▼

JSON.parse wandelt jede Zahl in einen 64-Bit-Gleitkommawert um, der nur bis 9.007.199.254.740.991 exakt ist. Längere Ganzzahlen, etwa 19-stellige Datenbank-IDs, verlieren ihre letzten Stellen. Kommt derselbe Schlüssel zweimal in einem Objekt vor, ersetzt der spätere Wert den früheren ohne Warnung. Wenn das für Sie wichtig ist, speichern Sie solche Werte in den Quelldaten als Strings oder vergleichen Sie die Ausgabe mit dem Original.

Kann ich tsconfig.json, VS-Code-Einstellungen oder sehr große Dateien öffnen? ▼

Dateien im JSONC- oder JSON5-Stil (Kommentare, nachgestellte Kommas, einfache Anführungszeichen) sind kein gültiges JSON und werden abgelehnt, bis Sie diese Teile entfernen. Bei der Größe sind Arbeitsspeicher und Geduld Ihres Browsers die Grenze: Die Ausgabe wird bei jedem Tastendruck neu aufgebaut, sodass das Einfügen mehrerer Megabyte die Seite kurz anhalten kann.