JSON-Formatter und Validator

Fügen Sie JSON ein oder öffnen Sie eine Datei. Es wird beim Tippen geprüft und mit der gewählten Einrückung formatiert oder minimiert, und zu einem Fehler erhalten Sie Zeile, Spalte und was zu korrigieren ist.

Fügen Sie es ein, ziehen Sie eine Datei auf das Feld oder öffnen Sie eine. Es wird nichts hochgeladen.
Ausgabe

Fügen Sie JSON in das Feld ein oder klicken Sie auf „Beispiel“, um die Funktion zu sehen.

Sie bauen eine API, die JSON ausliefert? Sie braucht einen Server, auf dem sie läuft. Heute ab 3,02 € im Monat (Auswahl: 2.226 Server).

Läuft in Ihrem Browser: Nichts, was Sie eingeben, wird irgendwohin gesendet.

So funktioniert es

Die Seite liest Ihren Text mit einem strikten JSON-Parser nach RFC 8259, dem JSON-Standard. Er hält am ersten Zeichen an, das nicht JSON sein kann, und meldet, wo es steht und warum: ein Komma am Ende, ein einfaches Anführungszeichen, ein fehlender Doppelpunkt oder ein fehlendes Komma, ein Kommentar, eine Zahl, die JSON nicht erlaubt.

Gültiges JSON wird mit der gewählten Einrückung zurückgeschrieben oder, beim Minimieren, ohne alle optionalen Leerzeichen. Zahlen und Zeichenketten werden genau so übernommen, wie Sie sie geschrieben haben: Eine lange ID wie 12345678901234567890 behält jede Ziffer, und ein Escape wie \u00e9 bleibt, wie er ist. Das Sortieren ordnet die Schlüssel jedes Objekts nach den Codepoints ihrer Zeichen; Schlüssel, die doppelt vorkommen, bleiben beide erhalten, in ihrer Reihenfolge.

Alles läuft in Ihrem Browser. Dateien bis zu einigen Megabyte sind im Nu formatiert; ab 1 MB wartet die Seite auf Ihren Klick auf „Formatieren“, statt bei jedem Tastendruck neu zu formatieren.

Beispiel

Diese Eingabe hat ein Komma nach dem letzten Element:

input.json
{
  "name": "web-1",
  "ports": [80, 443,]
}

Der Validator hält in Zeile 3, Spalte 20 an diesem Komma an und meldet, dass JSON kein Komma nach dem letzten Element erlaubt. Entfernen Sie es, dann wird der Text wie gezeigt formatiert oder zu einer Zeile mit 33 Zeichen minimiert.

formatted.json
{
  "name": "web-1",
  "ports": [
    80,
    443
  ]
}

Fragen

Warum schlägt mein JSON wegen eines Kommas am Ende fehl?

Weil JSON ein Komma nur zwischen zwei Elementen erlaubt. JavaScript, Python und viele Konfigurationsformate akzeptieren ein Komma nach dem letzten Element einer Liste oder eines Objekts; JSON nicht, und strikte Parser wie JSON.parse, jq und die meisten APIs lehnen das ganze Dokument ab. Entfernen Sie das Komma, auf das der Fehler zeigt.

Kann JSON Kommentare enthalten?

Nein. JSON hat keine Kommentarsyntax. Manche Programme lesen stattdessen JSONC oder JSON5, die Kommentare erlauben (die Einstellungen von VS Code und tsconfig.json sind JSONC), aber ein strikter JSON-Parser lehnt sie ab. Löschen Sie die Kommentare oder halten Sie eine Notiz in einem gewöhnlichen Feld wie "_comment" fest.

Ändert das Formatieren meine Zahlen?

Hier nicht. JSON.parse von JavaScript macht jede Zahl zu einem 64-Bit-Gleitkommawert, sodass 12345678901234567890 als 12345678901234567000 und 1.10 als 1.1 zurückkommt. Dieser Formatter wandelt Zahlen nie um: Zahlen, Zeichenketten und Escapes werden genau so zurückgeschrieben, wie sie waren. Nur die Leerzeichen und Zeilenumbrüche dazwischen ändern sich.

Was ist der Unterschied zwischen Formatieren und Minimieren?

Beim Formatieren kommen Zeilenumbrüche und Einrückungen hinzu, damit ein Mensch die Struktur lesen kann. Beim Minimieren entfällt jedes Leerzeichen und jeder Zeilenumbruch, den JSON nicht braucht, sodass die Datei kleiner zu speichern und zu senden ist. Beide enthalten genau dieselben Daten; ein Programm liest sie gleich.

Wird das eingefügte JSON irgendwohin gesendet?

Nein. Es wird vom Skript dieser Seite in Ihrem Browser geparst und formatiert und verlässt nie Ihr Gerät, ist also sicher für Konfigurationen und API-Antworten mit Schlüsseln oder personenbezogenen Daten. Sobald die Seite geladen ist, funktioniert sie offline.