Kostenloser Online-JSON-Formatierer & -Validator

Fügen Sie Ihr JSON ein, um es sofort zu formatieren, zu minimieren oder zu validieren. Die gesamte Verarbeitung findet in Ihrem Browser statt.

Ihre Daten verlassen niemals Ihr Gerät
$

Was JSON ist und warum es das Web erobert hat

JSON (JavaScript Object Notation) ist ein textbasiertes Datenaustauschformat, das aus der JavaScript-Objekt-Literal-Syntax abgeleitet ist. Es unterstützt sechs Datentypen (Objekte, Arrays, Strings, Zahlen, Booleans und null) und nichts weiter. Douglas Crockford spezifizierte das Format 2001 als bewusst minimalistische Alternative zu XML und veröffentlichte den Entwurf auf json.org mit dem ausdrücklichen Ziel, „die fettarme Alternative zu XML“ zu schaffen. Die IETF standardisierte JSON als RFC 4627 im Juli 2006, verfeinerte es als RFC 7159 im März 2014 und erneut als RFC 8259 im Dezember 2017 (aktuell STD 90, der aktive Standard, parallel auch als ECMA-404 veröffentlicht). JSONs Eroberung der Datenebene des Webs vollzog sich grob zwischen 2008 und 2014: Mit dem Wachstum von Single-Page-Apps und Mobile-Clients wurden die ausführlichen XML-Payloads früherer APIs durch JSON ersetzt. Bis 2026 dokumentiert sich praktisch jede öffentliche REST-API in JSON; XML überlebt in Dokumentformaten und Enterprise-Integration, aber JSON beherrscht die API-Ökonomie. Dieses Werkzeug liest JSON, validiert es gegen die Spezifikation und gibt es formatiert (eingerückt, mit Zeilenumbrüchen) oder minifiziert (Whitespace entfernt) wieder aus.

Was „Format JSON“ eigentlich tut

JSON ist auf Spezifikationsebene whitespace-unempfindlich, ein Parser liest {"name":"Alice","age":30} identisch zur mehrzeilig eingerückten Form. Der sichtbare Unterschied existiert ausschließlich für menschliche Leser. Formatierung (auch „Pretty-Print“ oder „Beautifying“ genannt) fügt Einrückung zwischen verschachtelten Ebenen ein, platziert jede Eigenschaft auf einer eigenen Zeile und ergänzt Leerzeichen nach dem Doppelpunkt zwischen Schlüssel und Wert. Minifizieren tut das Gegenteil: jeder Whitespace-Byte außerhalb von String-Literalen wird entfernt. Produktive HTTP-Antworten werden typischerweise minifiziert, um Bandbreite zu sparen (gzip und Brotli am CDN-Rand erledigen den Rest); während der Entwicklung liest man die formatierte Version. Die Standard-Formatierungs-Konventionen: 2 Leerzeichen pro Einrückungsebene (der moderne Web-Standard, Prettiers Default, die Norm im JavaScript-Ökosystem), 4 Leerzeichen für Codebases mit Python-geprägten Konventionen, oder 1 Tab für Projekte, die Tab-Einrückung bevorzugen. JSON.stringify() in JavaScript nimmt eine Ganzzahl oder einen String als zweites Argument, das genau dies steuert, JSON.stringify(data, null, 2) erzeugt 2-Leerzeichen-eingerückte Ausgabe. Dieses Werkzeug bietet dieselben drei Optionen.

JSON ist streng, die Regeln, die einen stolpern lassen

JSONs Grammatik ist berüchtigt unnachgiebig. Objekt-Schlüssel müssen mit doppelten Anführungszeichen umschlossen sein (einfache Anführungszeichen sind nicht zulässig). String-Werte müssen doppelte Anführungszeichen verwenden. Keine Trailing-Kommas nach der letzten Eigenschaft eines Objekts oder dem letzten Element eines Arrays, eine häufige Überraschungsquelle für JavaScript-Entwickler, weil JS selbst Trailing-Kommas akzeptiert. Keine Kommentare: anders als YAML oder JavaScript hat JSON keine Kommentar-Syntax. Kein undefined-Wert: JSON kennt nur null; der Versuch, JavaScripts undefined als JSON zu kodieren, lässt die Eigenschaft komplett wegfallen. Zahlen müssen in JSON-Dezimalform sein: keine führenden Nullen (007 illegal), kein Hex (0x7F illegal), kein Infinity oder NaN. Strings müssen gültiges UTF-8 sein: die meisten Parser tolerieren UTF-16-Surrogatpaar-Probleme, aber die Spezifikation fordert wohlgeformtes Unicode. Doppelte Schlüssel sind technisch gültig laut Spezifikation, erzeugen aber undefiniertes Verhalten in den meisten Parsern (gewöhnlich gewinnt der letzte Wert). Mehrere JSON-Varianten lockern diese Regeln: JSON5 (Aseem Kishore, 2012) erlaubt Trailing-Kommas, einfache Anführungszeichen, Kommentare und andere ergonomische Lockerungen; JSONC (verwendet von VS Codes tsconfig.json und ähnlichen) ist JSON mit erlaubten C-Stil-Zeilenkommentaren; HJSON zielt auf menschliche Freundlichkeit mit optionalen quotierten Schlüsseln. Keines davon ist eigentliches JSON, sie brauchen ihre eigenen Parser, und die meisten Produktions-Tools erwarten striktes JSON gemäß RFC 8259.

Wo formatiertes JSON sein Geld wert ist

JSON im breiteren Tooling-Ökosystem

Für Kommandozeilen-Workflows ist jq (Stephen Dolan, erstmals 2012 veröffentlicht) der kanonische JSON-Prozessor, eine kleine, statisch gelinkte Binary, die Formatierung (jq .), Filterung (jq '.users[] | .email'), Transformation und komplexe Abfragen mit ihrer eigenen prägnanten Ausdruckssprache beherrscht. Pythons Standard-Bibliothek enthält python -m json.tool für einmaliges Pretty-Printing. JavaScripts eingebautes JSON.stringify(obj, null, 2) ist der schnellste Formatter im Browser/in Node. JSON Schema (aktueller Draft 2020-12, herausgegeben von Henry Andrews, Austin Wright, Greg Dennis und anderen) liefert ein Vokabular, um zu deklarieren, welche Form ein JSON-Dokument haben muss (Typ-Constraints, erforderliche Eigenschaften, Format-Validatoren, bedingte Logik) und ist der Standard für API-Vertragsvalidierung, OpenAPI-3.x-Spezifikationen, Konfigurations-Validierung und JSON-basierte Formular-Generierung. JSONPath (Stefan Goessner, 2007, jetzt im Februar 2024 als RFC 9535 standardisiert) ist die XPath-ähnliche Abfragesprache für JSON, verwendet von jqs einfacherer Teilmenge und von Tools wie Postman, jsonpath-ng (Python) und der AWS CLI. JSON-LD (W3C-Empfehlung, aktuelle Version 1.1 im Juli 2020 veröffentlicht) erweitert JSON um Linked-Data-Konventionen des Semantic Web und ist das Format, das Google für Strukturdaten-Markup auf Webseiten empfiehlt. JSON Patch (RFC 6902) und JSON Merge Patch (RFC 7396) definieren standardisierte Diff/Patch-Formate für JSON-Dokumente.

Tree-Ansicht, warum sie wichtig ist

Ein pretty-printed JSON-Dokument selbst mittlerer Größe (ein paar hundert Zeilen) ist als flacher Text schwer zu navigieren. Die Tree-Ansicht in diesem Werkzeug klappt jedes Objekt und Array in einen aufklappbaren Knoten ein, lässt dich klicken, um nur die Ebenen zu sehen, die dich interessieren, und zeigt den JSONPath-Ausdruck für jeden Knoten, auf den du klickst. Die Pfad-bei-Klick-Funktion ist die praktische Brücke zwischen „ich kann den Wert, den ich will, im Dokument sehen“ und „ich kann Code schreiben, der auf diesen Wert zugreift“, den Pfad in jq einfügen, in eine JSONPath-Abfrage, in JavaScript-Klammernotation, in eine Postman-Test-Assertion. Für tief verschachtelte API-Antworten (Stripe, Shopify, Salesforce, alles mit reichen Domänenmodellen) ist Tree-Ansicht + Pfad-Kopie der Workflow, der „ich sehe das Feld“ mit zwei Klicks zu „ich habe den Zugriffsausdruck“ macht.

Datenschutz: Validierung nur im Browser

JSON, das in einen Formatter eingefügt wird, sind häufig echte Produktionsdaten, API-Antworten mit Nutzer-IDs, Session-Tokens, internen Entitäts-IDs, Konfigurationswerte, die Endpunkt-URLs und Feature-Flags enthalten. Server-seitige JSON-Formatter nehmen eine Kopie jeder Eingabe in ihre Logs auf. Dieses Werkzeug parst dein JSON mit dem im Browser eingebauten JSON.parse(), durchläuft die resultierende Struktur in JavaScript und gibt sie als String wieder aus, alles innerhalb deines Browser-Tabs. Verifiziere im Network-Tab der DevTools, während du auf Format klickst (es feuert keine Anfrage), oder schalte die Seite nach dem Laden offline (Flugmodus), und der Formatter funktioniert weiter. Sicher für produktive API-Antworten, interne Konfiguration, JSON mit Tokens oder Schlüsseln oder jedes Dokument, das du nicht auf der Festplatte eines Fremden sehen wolltest.

Häufig gestellte Fragen

Warum scheitert mein JSON an der Validierung?

Die häufigsten Fehler: Trailing-Kommas nach der letzten Eigenschaft/dem letzten Element (in JavaScript und JSON5 erlaubt, in Standard-JSON illegal); einfache Anführungszeichen statt doppelter (JSON erfordert ausschließlich "); unquotierte Schlüssel (JavaScript-Objekt-Literale erlauben {name: "Alice"}, JSON erfordert {"name": "Alice"}); Kommentare (JSON hat keine Kommentar-Syntax, verwende JSON5 oder JSONC, wenn du sie brauchst); undefined-Werte (JSON kennt nur null); fehlende Klammern; spezielle Floats wie NaN oder Infinity (in JSON illegal). Die Fehlermeldung des Validators gibt Zeile und Spalte; dort zuerst nachsehen.

Was ist der Unterschied zwischen Formatieren und Minimieren?

Format fügt Einrückung, Zeilenumbrüche und Abstände hinzu, um das JSON lesbar zu machen; Minify entfernt jeden unnötigen Whitespace, um es so klein wie möglich zu machen. Der eigentliche Dateninhalt ist identisch, JSON-Parser ignorieren Whitespace auf Syntaxebene. Verwende formatiert für Entwicklung, Debugging und Code Review; verwende minifiziert für HTTP-Übertragung, eingebettetes JSON in JavaScript-Bundles oder jeden Kontext, in dem Bytes zählen. Moderne Infrastruktur (gzip auf HTTP-Antworten, Brotli am CDN-Rand) komprimiert JSON aggressiv, der Bandbreitenunterschied ist also kleiner, als er aussieht, aber minifiziert ist trotzdem etwas kleiner und schneller zu parsen.

Gibt es eine Größenbeschränkung?

Keine harte Obergrenze, aber praktische Limits hängen vom Browser-Speicher ab. Dateien bis ~10 MB werden auf modernen Geräten in deutlich weniger als einer Sekunde formatiert und validiert; Dateien im Bereich 50-100 MB können den Tab kurz einfrieren, während JSON.parse() die Struktur durchläuft. Für sehr großes JSON (Gigabytes, typisch für große API-Exporte oder NDJSON-Log-Dumps) handhaben Kommandozeilen-Tools (jq, python -m json.tool, node -e) sie besser, weil sie streamen können, statt alles in den Speicher zu laden.

Was macht „Sort Keys“ und wann sollte ich es verwenden?

Sort Keys alphabetisiert die Schlüssel jedes Objekts rekursiv. Die Daten-Semantik bleibt unverändert (die Reihenfolge der Schlüssel eines JSON-Objekts ist laut Spezifikation technisch undefiniert, obwohl die meisten Parser Einfügereihenfolge bewahren) aber die Ausgabe wird kanonisch. Nützlich, um zwei JSON-Dokumente, die semantisch äquivalent sein sollten, zu differenzieren (ohne Sortierung erzeugen Schlüsselreihenfolge-Unterschiede lärmende Diffs), und um reproduzierbare Build-Ausgaben zu erzeugen (dieselben Daten sollten immer Byte-identisch in JSON serialisieren, unabhängig davon, wie sie im Speicher konstruiert wurden).

Werden meine JSON-Dokumente hochgeladen?

Nein. Das gesamte Parsen, Validieren, Formatieren, Sortieren und Tree-Rendering geschieht in deinem Browser über JSON.parse() und JavaScript. Das eingefügte JSON überquert nie das Netzwerk. Verifiziere im Network-Tab der DevTools, während du auf Format klickst (es feuert keine Anfrage), oder schalte die Seite nach dem Laden offline (Flugmodus). Sicher für proprietäre API-Antworten, interne Konfiguration, JSON mit Tokens oder Session-Daten oder alles, was unter NDA fällt.

Verwandte Werkzeuge