JSON formatieren

JSON validieren und JSON formatieren. Interaktive Baumansicht. Kostenlos, für immer.
JSON-Eingabe
Formatiertes JSON
JSON-Eingabe

Privat und sicher

Alles passiert in Ihrem Browser. Ihre Dateien berühren niemals unsere Server.

Blitzschnell

Kein Hochladen, kein Warten. Konvertieren Sie, sobald Sie eine Datei ablegen.

Wirklich kostenlos

Kein Konto erforderlich. Keine versteckten Kosten. Keine Tricks bei der Dateigröße.

JSON – JavaScript Object Notation – ist das allgegenwärtige, textbasierte Format für den Austausch strukturierter Daten. Es ist sowohl von der IETF als RFC 8259 als auch von Ecma International als ECMA-404standardisiert, die zusammen die kompakte, sprachunabhängige Syntax definieren, die moderne APIs, Protokolle, Konfigurationen und Datenbanken antreibt.

Syntax & Kodierung: die präzisen Bits, die Systeme am Laufen halten

Ein JSON-Wert ist entweder ein Objekt, ein Array, eine Zeichenfolge, eine Zahl oder eines der Literale true, false oder null; Objekte bilden Zeichenfolgen auf Werte ab und Arrays enthalten geordnete Werte – wobei unwesentlicher Leerraum um Strukturzeichen erlaubt ist (RFC 8259, ECMA-404). Obwohl JSON aus JavaScript stammt, ist es sprachunabhängig und wird praktisch überall unterstützt (MDN: JSON). Auf der Leitung ist die De-facto- und empfohlene Kodierung UTF-8 (RFC 8259 §8.1). Für zusätzliche Interoperabilitätssicherheit verschärft das I-JSON-Profil (RFC 7493) die Regeln für Kodierungen und Zahlenbereiche.

In JavaScript stellt das globale JSON-Objekt zwei Arbeitstiere zur Verfügung:JSON.parse (mit einem optionalen reviver) und JSON.stringify (mit Ersetzer/Abstand für hübsches Drucken), wie auf MDN dokumentiert (parse, stringify).

Zahlen: täuschend einfach, überraschend scharf

Die Zahlengrammatik von JSON ist dezimal, aber die Spezifikation schreibt keine Genauigkeit oder Unterscheidung zwischen Ganzzahlen und Gleitkommazahlen vor. Implementierungen wählen, wie sie sie darstellen (RFC 8259 §6). In JavaScript und Node.js ist Number IEEE-754 doppelte Genauigkeit, was bedeutet, dass nur Ganzzahlen in [−(2^53−1), 2^53−1] exakt sicher sind – siehe Number.MAX_SAFE_INTEGER und den BigInt-Typ. Aus diesem Grund liefern öffentliche APIs IDs oft als Zeichenfolgen und validieren „sichere Ganzzahlen“ explizit.

Über Vanilla-JSON hinaus: Pointer, Patches und Merge-Patches

Mit zunehmender Nutzung entstanden Standards, um JSON an Ort und Stelle zu adressieren und zu modifizieren. JSON Pointer (RFC 6901) ist eine winzige, durch Schrägstriche getrennte Syntax zum Auffinden von Werten (z. B. /a/b/0) mit Escaperegeln für ~ und /. JSON Patch (RFC 6902) modelliert Teilaktualisierungen als geordnete Operationen (add, remove, replace, move, copy, test) und wird als application/json-patch+json übertragen. Für einfachere Diffs verwendet JSON Merge Patch (RFC 7386) eine dokumentenförmige Zusammenführung: vorhandene Felder werden hinzugefügt/ersetzt; das Setzen eines Feldes auf null löscht es. Viele Frameworks unterstützen eine oder beide Formen von Haus aus.

Schemata & Typen: Validierung und Generierung

JSON selbst ist schemalos, aber Ökosysteme stützen sich auf Schemata für Validierung, Dokumentation und Codegenerierung. Die JSON Schema 2020-12 -Familie spezifiziert Einschränkungen wie type, properties, items und Kompositionsschlüsselwörter und stimmt mit OpenAPI 3.1überein. Für auf Codegenerierung ausgerichtete Workflows bietet JSON Type Definition (RFC 8927) eine bewusst weniger ausdrucksstarke Sprache, die sich vorhersagbar auf gängige Typsysteme abbilden lässt.

Streaming & Big Data: JSON Lines und Sequenzen

Klassisches JSON erwartet einen vollständigen Text pro Payload, was das Streamen von Protokollen und langlebigen Antworten erschwert. Zwei Muster helfen:

  • JSON Text Sequences (RFC 7464): ein Stream von UTF-8-JSON-Texten, denen jeweils das Record Separator (U+001E) vorangestellt und die mit LF beendet werden; registriert als application/json-seq.
  • NDJSON / JSON Lines: Jede Zeile ist ein eigenständiger JSON- Wert – einfach zu verfolgen, zu gzipen und Map-Reduce durchzuführen (ndjson.org, jsonlines.org). Es ist in Bulk-APIs beliebt, z. B. in der Bulk APIvon Elasticsearch.

Binäre Cousins: wenn Text nicht kompakt genug ist

Wenn Bandbreite oder Geschwindigkeit dominieren, bewahren „binäre JSON“-Formate das Datenmodell von JSON, während sie die menschliche Lesbarkeit gegen Effizienz eintauschen:

  • BSON (natives Format von MongoDB) fügt Typen wie Binär, Datum/Uhrzeit und typisierte Ganzzahlen hinzu (bsonspec.org).
  • MessagePack ist kompakt und schemalos, weit verbreitet in verschiedenen Sprachen implementiert (msgpack.org).
  • CBOR standardisiert ein erweiterbares, kompaktes Format (mit JSON-Transkodierungsanleitung) und ist in IoT/eingeschränkten Kontexten üblich (RFC 8949, cbor.io).
  • Smile (aus dem Jackson-Ökosystem) kodiert JSON mit optionalen Rückverweisen für wiederholte Namen/Werte (jackson-dataformat-smile).

Sicherheitshinweise: alte Tricks und moderne Lösungen

Da JSON nur Text ist, ergeben sich die meisten Risiken aus der Art und Weise, wie Sie ihn transportieren und handhaben:

  • JSONP (Anfordern von Daten über <script> mit einem Callback) war eine Pre-CORS-Problemumgehung für Cross-Origin-Anfragen, ist aber gefährlich – es führt beliebigen Skriptcode aus. Bevorzugen Sie CORS mit echten application/json-Antworten (OWASP: JSONP Abuse).
  • JSON-Hijacking: Naive GET-Endpunkte, die sensible Arrays zurückgeben, könnten in älteren Browsern über Cross-Origin-Skript-Tags gestohlen werden; Gegenmaßnahmen umfassen POST mit CSRF-Schutz oder das Voranstellen eines Nicht-JSON-Sentinels (OWASP: JSON Hijacking).
  • JSON-Injection: Behandeln Sie JSON als Daten, nicht als Code; escapen Sie sorgfältig und validieren Sie Eingaben (OWASP: JSON Injection).

Medientypen & Herkunft

JSON debütierte unter RFC 4627 (2006); der registrierte Medientyp ist application/json, dessen Spezifikation jetzt auf RFC 8259verweist. „Charset“-Parameter bei JSON-Antworten sind im Allgemeinen unnötig, da UTF-8 im öffentlichen Internet der Standard ist.

Praktische Tipps für robustes JSON in der Produktion

  • Standardmäßig überall UTF-8 verwenden; UTF-8 bei Eingabe und Ausgabe annehmen (RFC 8259 §8.1).
  • Seien Sie explizit bei großen Ganzzahlen: Wenn eine ID 2^53−1 überschreiten kann, liefern Sie sie als string und dokumentieren Sie sie (MDN: MAX_SAFE_INTEGER).
  • Validieren Sie Payloads mit JSON Schema 2020-12 (oder JTD für Codegen-lastige Stacks). Veröffentlichen Sie Schemata neben Ihren API-Dokumenten (OpenAPI 3.1).
  • Patchen Sie mit Bedacht: Verwenden Sie JSON Patch für Diffs auf Operationsebene und Merge Patch für einfache dokumentenförmige Aktualisierungen.
  • Streamen im großen Stil: Wählen Sie JSON Text Sequences oder NDJSON für Protokolle und langlebige Antworten; machen Sie den Medientyp explizit.
  • Greifen Sie zu Binärformaten ( BSON, MessagePack, CBOR, Smile), wenn Text der Engpass ist – aber stellen Sie sicher, dass beide Enden sich über die Typen einig sind.

Ein kurzes Wort zu „freundlicheren JSONs“

Entwickler möchten oft Kommentare, nachgestellte Kommas oder einzeln zitierte Zeichenfolgen in Konfigurationen. Das liegt außerhalb des Standard-JSON, aber JSON5 bietet eine gut dokumentierte Obermenge für von Menschen bearbeitete Dateien. Vermeiden Sie das Senden von JSON5 über öffentliche APIs, es sei denn, Sie kontrollieren beide Enden.


Der Erfolg von JSON beruht auf einer kleinen Oberfläche, breiter Sprachunterstützung und einem Ring angrenzender Standards – Pointer, Patches, Schemata, Sequenzen –, die die unordentlichen Realitäten verteilter Systeme abdecken. Verstehen Sie die Grundlagen (Syntax, Kodierung, Zahlen), stützen Sie sich auf die richtigen angrenzenden Standards, und es wird sich weiterhin über Stacks und Dienste hinweg auszahlen (RFC 8259, ECMA-404, RFC 6901, RFC 6902, RFC 7386, JSON Schema, JTD, RFC 7464, NDJSON).

Häufig gestellte Fragen

Was ist JSON?

JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen einfach zu analysieren und zu generieren ist. Es wird häufig zur Datenübertragung in Webanwendungen verwendet.

Warum muss ich JSON formatieren?

Die Formatierung von JSON macht es für Menschen lesbar, indem sie die richtige Einrückung und Zeilenumbrüche hinzufügt. Dies ist besonders nützlich bei der Arbeit mit minimierten oder komprimierten JSON-Daten, beim Debuggen oder beim Überprüfen von API-Antworten.

Was macht die JSON-Validierung?

Die JSON-Validierung überprüft, ob Ihre JSON-Zeichenfolge der JSON-Spezifikation entspricht. Sie identifiziert Syntaxfehler wie fehlende Kommas, nicht geschlossene Klammern oder falsche Anführungszeichen und hilft Ihnen, Fehler früh zu erkennen.

Was ist der Unterschied zwischen Code- und Baumansicht?

Die Codeansicht zeigt das formatierte JSON als Text mit Syntaxhervorhebung an, ähnlich wie es in einem Code-Editor erscheint. Die Baumansicht präsentiert JSON als interaktive, zusammenklappbare Struktur, in der Sie verschachtelte Objekte und Arrays erweitern und reduzieren können.

Sind meine JSON-Daten sicher?

Ja! Alle JSON-Formatierungen und -Validierungen erfolgen vollständig in Ihrem Browser. Ihre Daten verlassen niemals Ihren Computer und gewährleisten so vollständige Privatsphäre und Sicherheit.

Kann ich eine JSON-Datei hochladen?

Ja, Sie können eine JSON-Datei über die Schaltfläche 'Datei öffnen' hochladen. Das Tool liest die Datei und zeigt sofort die formatierte Ausgabe an.

Was sind häufige JSON-Fehler?

Häufige JSON-Fehler sind: fehlende Kommas zwischen Schlüssel-Wert-Paaren, Verwendung von einfachen statt doppelten Anführungszeichen für Zeichenfolgen, nachgestellte Kommas, nicht geschlossene Klammern und Schlüssel ohne Anführungszeichen.

Kann ich das formatierte JSON kopieren?

Ja, verwenden Sie die Schaltfläche 'Kopieren', um das formatierte JSON in Ihre Zwischenablage zu kopieren. Dies ist nützlich zum Einfügen des bereinigten JSON in Ihren Code oder Ihre Dokumentation.