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.
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).
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.
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.
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.
Klassisches JSON erwartet einen vollständigen Text pro Payload, was das Streamen von Protokollen und langlebigen Antworten erschwert. Zwei Muster helfen:
application/json-seq.Wenn Bandbreite oder Geschwindigkeit dominieren, bewahren „binäre JSON“-Formate das Datenmodell von JSON, während sie die menschliche Lesbarkeit gegen Effizienz eintauschen:
Da JSON nur Text ist, ergeben sich die meisten Risiken aus der Art und Weise, wie Sie ihn transportieren und handhaben:
<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 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.
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).
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.
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.
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.
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.
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.
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.
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.
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.