{ } · 2 / 4 / Tab · Minify
JSON Formatter und Validator
Ein JSON Formatter rückt kompaktes JSON ein: Ein Dokument mit 60 Byte wächst mit 2 Leerzeichen auf 86 Byte und mit 4 auf 102 Byte. Füge JSON ein und erhalte formatierten oder minifizierten Text oder Zeile und Spalte des ersten Fehlers.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
Alles läuft in diesem Tab, nichts wird hochgeladen. Der Parser folgt RFC 8259, daher werden Kommentare, einfache Anführungszeichen, abschließende Kommas und Schlüssel ohne Anführungszeichen als Fehler gemeldet.
Scanned by NortonTM Safe Web
Auf einen Blick
- Preis
- Ohne Kosten
- Konto
- Nicht nötig
- Standard
- RFC 8259 (JSON)
- Grenzen
- 5 MB Eingabe, 512 Verschachtelungsebenen
- Ausgabe
- 2 Leerzeichen, 4 Leerzeichen, Tab oder minifiziert, Schlüssel auf Wunsch sortiert
- Upload
- Keiner – der Text bleibt in deinem Browser-Tab
JSON-Fehler und Zahlengenauigkeit
Diese Werte stammen vom Parser, den diese Seite verwendet. Zeilen und Spalten werden ab 1 gezählt.
| Dokument | Fehlercode | Zeile:Spalte |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| Zahl wie geschrieben | Wert, den JSON.parse liefert |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
So formatierst du JSON
JSON einfügen
Tippe oder füge ein JSON-Dokument von bis zu 5 MB in das Eingabefeld ein. Ein Beispiel steht schon da, damit du zuerst das Ergebnis sehen kannst.
Ausgabe wählen
Wähl 2 Leerzeichen, 4 Leerzeichen, einen Tab oder die minifizierte Form. Mit dem Häkchen werden die Schlüssel jedes Objekts nach Code-Unit-Reihenfolge sortiert.
Kopieren oder korrigieren
Kopiere das Ergebnis oder lade es herunter. Ist das JSON fehlerhaft, nennt die Meldung Zeile, Spalte und Grund, und ein Zeiger markiert die Stelle in der betroffenen Zeile.
Wie der JSON Formatter funktioniert
Die Seite liest deinen Text mit einem eigenen Parser für die JSON-Grammatik aus RFC 8259 und schreibt ihn dann mit der gewählten Einrückung zurück. Weil der Parser Teil der Seite ist, zeigt jeder Browser für denselben Fehler dieselbe Meldung. Das eingebaute JSON.parse formuliert seine Fehler in Chrome, Firefox und Safari unterschiedlich, und nicht alle nennen Zeile und Spalte.
Zahlen und String-Escapes werden genau so übernommen, wie du sie getippt hast. JSON.parse macht aus 12345678901234567890 die Zahl 12345678901234567000, weil eine JavaScript-Zahl ein 64-Bit-Float mit etwa 15 bis 17 signifikanten Stellen ist. Diese Seite behält alle 20 Ziffern und weist darauf hin, wenn eine Zahl gerundet würde. RFC 8259 sagt, dass Objektnamen eindeutig sein sollten; doppelte Schlüssel bleiben deshalb erhalten und werden gemeldet. Die Grenzen sind 5 MB Eingabe und 512 Verschachtelungsebenen.
Fragen zum JSON Formatter
Wie formatiere ich JSON online?
Füge das JSON in das Eingabefeld ein. Der formatierte Text erscheint sofort, mit 2 Leerzeichen, 4 Leerzeichen oder einem Tab je Ebene. Das Beispiel mit 60 Byte wird mit 2 Leerzeichen zu 86 Byte und mit 4 Leerzeichen zu 102 Byte.
Was bedeutet „unexpected token“, und wo ist mein Fehler?
Es heißt, dass der Parser an dieser Stelle ein Zeichen gefunden hat, das die JSON-Grammatik nicht erlaubt. Diese Seite nennt den Grund, die Zeile und die Spalte. Bei {"a": 1,} meldet sie trailing_comma in Zeile 1, Spalte 8.
Warum ist ein abschließendes Komma in JSON ein Fehler?
Die Grammatik in RFC 8259 verlangt nach jedem Komma einen Wert, daher sind [1, 2,] und {"a": 1,} ungültig. JavaScript-Objektliterale erlauben ein abschließendes Komma, JSON nicht. Lösche das letzte Komma.
Darf JSON Kommentare oder einfache Anführungszeichen enthalten?
Nein. RFC 8259 kennt keine Kommentare, und Strings und Schlüssel nutzen nur doppelte Anführungszeichen. Formate wie JSON5 und JSONC erlauben beides, sind aber andere Formate, und diese Seite meldet sie als Fehler.
Verändert der Formatter meine Zahlen?
Nein. Zahlen und Escapes werden genau wie getippt zurückgeschrieben. JSON.parse würde 12345678901234567890 auf 12345678901234567000 runden, diese Seite behält jede Ziffer, beim Formatieren geht also nichts verloren.
Wird mein JSON irgendwohin hochgeladen?
Nein. Die Seite läuft in deinem Browser-Tab und sendet nichts an einen Server. Ist sie einmal geladen, funktioniert sie auch offline. Die Eingabegrenze liegt bei 5 MB.