json-formatieren.de

Begriffe · JSON 2026

JSON-Glossar

Zentrale Begriffe rund um JSON und verwandte Datenformate, alphabetisch sortiert.

application/json

Offizieller MIME-Type für JSON-Payloads (RFC 8259).

application/json ist der IANA-registrierte Media-Type für JSON-Inhalte. Wird als Content-Type-Header in HTTP-Requests und Accept-Header bei Content-Negotiation genutzt. Variante application/problem+json (RFC 7807) für Fehler-Responses, application/ld+json für JSON-LD (Schema.org).

Verwandt: application/ld+json,MIME-Type

application/ld+json

MIME-Type für JSON-LD, also JSON mit Schema.org-Semantik.

application/ld+json wird genutzt um strukturierte Daten in HTML einzubetten - typisch im <script type="application/ld+json">-Block für Google-Rich-Results und Schema.org-Markup. Browser parsen den Inhalt nicht, Suchmaschinen-Crawler hingegen schon.

Verwandt: application/json,JSON-LD,Schema.org

Array

Geordnete Liste von JSON-Werten, in eckigen Klammern.

Ein JSON-Array ist eine geordnete Sequenz beliebiger JSON-Werte, getrennt durch Kommas, eingeschlossen in [ und ]. Werte können beliebige Typen mischen, auch wenn schemagetriebene APIs meist homogen typisierte Arrays nutzen. Leeres Array: [].

Verwandt: Object,Trailing-Comma

BOM (Byte Order Mark)

Unsichtbares Steuerzeichen am Datei-Anfang, in JSON verboten.

Eine UTF-8-BOM ist die Byte-Folge EF BB BF am Datei-Anfang. RFC 8259 verbietet sie in JSON. Windows-Tools (insbesondere PowerShell und Notepad) schreiben sie aber gerne hinein, was JSON.parse mit "Unexpected token" fehlschlagen lässt. Lösung: Datei als UTF-8 ohne BOM speichern.

Verwandt: UTF-8,Encoding

Boolean

JSON-Primitivtyp mit den Werten true oder false.

Boolean-Werte werden in JSON kleingeschrieben: true und false. Großschreibung (True, FALSE) ist ungültig. Im Gegensatz zu YAML gibt es in JSON keine zusätzlichen Synonyme wie yes/no oder on/off.

Verwandt: null,Datentyp

DOM-Parser (für JSON)

Parser-Strategie: gesamtes Dokument in einen Objekt-Baum laden.

JSON.parse arbeitet als DOM-Parser: er liest das komplette Dokument in den Speicher und baut einen vollständigen Objekt-Baum. Vorteil: einfache Random-Access. Nachteil: Speicherverbrauch ~2-3× der Datei-Größe - für GB-große Files ungeeignet. Alternative: SAX-Streaming-Parser.

Verwandt: SAX-Parser,JSON.parse

ECMA-404

Internationale Standardisierung des JSON-Datenformats.

ECMA-404 ist die formale Standardisierung von JSON durch die ECMA International (1. Edition 2013, 2. Edition 2017). Inhaltlich identisch zu RFC 8259 (IETF). Beide definieren dieselbe Syntax und Datentypen. ECMA-404 wird oft als kanonische Referenz für JSON-Parser-Implementierungen herangezogen.

Verwandt: RFC 8259,JSON

Escape-Sequence

Backslash-Notation für Sonderzeichen in JSON-Strings.

In JSON-Strings müssen bestimmte Zeichen escaped werden: \" (Anführungszeichen), \\ (Backslash), \/ (optional Slash), \b \f \n \r \t (Whitespace), \uXXXX (Unicode-Codepoint als 4-stellige Hex-Zahl). Andere Sequenzen sind ungültig - \x12 zum Beispiel ist kein JSON.

Verwandt: Unicode-Escape,String

JSON

JavaScript Object Notation, textbasiertes Datenformat (RFC 8259).

JSON wurde 2001 von Douglas Crockford spezifiziert und ist heute das wichtigste Web-Datenformat. Sieben Datentypen: Object, Array, String, Number, Boolean, null und der Container selbst. Streng spezifiziert: keine Kommentare, keine trailing Commas, immer Double-Quotes, immer UTF-8.

Verwandt: ECMA-404,RFC 8259

JSON Lines (NDJSON)

Eine JSON-Wert pro Zeile - ideal für Streaming und Logs.

JSON Lines (oft "ndjson" abgekürzt) speichert eine JSON-Entity pro Zeile, getrennt durch \n. Vorteil: zeilenweise einlesbar, keine umschließende Array-Klammer, append-friendly. Wird in Logs, Datenexports und Event-Streams genutzt. Aufpassen: nicht JSON-kompatibel als Ganzes, nur die einzelnen Zeilen.

Verwandt: Streaming,JSON

JSON Schema

Validierungs-Format für JSON-Strukturen (Draft 2020-12).

JSON Schema beschreibt das erwartete Format eines JSON-Dokuments deklarativ: Typen, Required-Felder, Enums, String-Patterns, Min/Max, conditional Logic. Validatoren wie Ajv kompilieren das Schema zu hochperformanten Validierungs-Funktionen (mehrere Millionen Validierungen/Sekunde).

Verwandt: Validation,OpenAPI

JSON-LD

JSON-Linked-Data - JSON mit Schema.org-Semantik (W3C).

JSON-LD erweitert JSON um die @context-Property, die Schlüssel-Namen mit Schema-URIs verknüpft. Standardisiert vom W3C, wird vor allem für Schema.org-Strukturdaten in HTML-Seiten genutzt. Google parst JSON-LD aus <script type="application/ld+json"> für Rich Snippets.

Verwandt: application/ld+json,Schema.org

JSON.parse

JavaScript-Builtin: parst JSON-String zu JS-Objekt-Baum.

JSON.parse(text, reviver?) konvertiert einen JSON-Text in den entsprechenden JavaScript-Wert. Wirft SyntaxError bei ungültigem JSON. Der optionale reviver-Callback transformiert Werte während des Parsings - nützlich für Date-Deserialisierung. In V8/Chrome 130 typische Geschwindigkeit ~1 GB/s.

Verwandt: JSON.stringify,DOM-Parser

JSON.stringify

JavaScript-Builtin: serialisiert JS-Objekt zu JSON-String.

JSON.stringify(value, replacer?, space?) serialisiert einen JS-Wert zu JSON. Mit space=2 entsteht Pretty-Print mit 2 Leerzeichen Einrückung, ohne space wird minified. Der replacer-Callback erlaubt Filterung. undefined, Symbol und Functions werden ausgelassen (in Objekten) oder zu null (in Arrays).

Verwandt: JSON.parse,Pretty-Print

JSON5

JSON-Erweiterung mit Kommentaren, Trailing-Commas und Single-Quotes.

JSON5 ist eine inoffizielle JSON-Erweiterung, die die JavaScript-Syntax näher abbildet: Single-Quotes, Trailing-Commas, Kommentare, unzitierte Schlüssel, hex-Zahlen, NaN/Infinity. Nicht kompatibel mit JSON.parse - braucht eine eigene Library (json5 npm). In Konfigurationsdateien beliebt, in APIs unüblich.

Verwandt: JSONC,JSON

JSONC

JSON mit Comments - der Format-Dialekt von tsconfig.json und VS Code.

JSONC erlaubt einzeilige //- und mehrzeilige /* */-Kommentare innerhalb sonst regulärer JSON-Syntax. Wird von tsconfig.json, .vscode/settings.json und einigen anderen Dev-Tools genutzt. JSON.parse schlägt fehl - man braucht jsonc-parser (npm) oder manuelles Strippen vor JSON.parse.

Verwandt: JSON5,JSON

JSONPath

XPath-ähnliche Query-Syntax für JSON (RFC 9535).

JSONPath ermöglicht das Selektieren von Werten aus einem JSON-Baum: $.store.book[*].author wählt alle Autoren-Felder. RFC 9535 hat die Syntax 2024 finalisiert. Im Browser direkt nutzbar, aber jq bleibt mächtiger für komplexe Transformationen.

Verwandt: jq,JSON

Minify

JSON-Output ohne Whitespace, alles auf einer Zeile.

Minified JSON enthält keine Zeilenumbrüche oder Einrückungen - kompakteste Darstellung. Erzeugt mit JSON.stringify(obj) (ohne space-Parameter). Typische Größeneinsparung gegenüber 2-Indent: 20-30 %. Nach gzip ist der Unterschied marginal - Minify lohnt vor allem für In-Memory- oder DB-Speicherung.

Verwandt: Pretty-Print,JSON.stringify

null

JSON-Primitivtyp für „kein Wert vorhanden".

null ist ein eigener JSON-Datentyp und repräsentiert das absichtliche Fehlen eines Wertes. Muss kleingeschrieben werden - Null oder NULL sind ungültig. Wichtig: nicht verwechseln mit "fehlt komplett" (kein Key in Object) - beides hat unterschiedliche Semantik in Schemas und APIs.

Verwandt: Boolean,Datentyp

Number

JSON-Zahlentyp - Integer oder Floating-Point, keine NaN/Infinity.

JSON-Zahlen sind dezimal, optional mit Vorzeichen, Bruchteil und Exponent (e10, e-3). NaN, Infinity und -Infinity sind nicht erlaubt. JSON spezifiziert keine Maximalpräzision - Empfänger sollten IEEE 754 (double) erwarten. Für größere Zahlen: als String serialisieren oder BigInt-Custom-Handling.

Verwandt: Integer,IEEE 754

Object

Ungeordnete Menge von Key-Value-Paaren in geschweiften Klammern.

Ein JSON-Object besteht aus 0..n Key-Value-Paaren in { }. Keys müssen Strings mit Double-Quotes sein, Werte können beliebige JSON-Typen sein. Reihenfolge ist laut RFC 8259 nicht signifikant - die meisten Parser behalten sie aber bei. Doppelte Keys sind erlaubt, Verhalten implementation-defined.

Verwandt: Array,String

Pretty-Print

Lesbar formatiertes JSON mit Einrückungen und Zeilenumbrüchen.

Pretty-Print (auch Beautify) macht JSON für Menschen lesbar: Einrückungen pro Verschachtelungs-Ebene, Zeilenumbruch nach jedem Schlüssel-Wert-Paar. Konvention ist 2 Leerzeichen Einrückung. Erzeugt mit JSON.stringify(obj, null, 2). Für Diffs in Git und Code-Reviews unverzichtbar.

Verwandt: Minify,JSON.stringify

RFC 8259

Aktuelle IETF-Spezifikation des JSON-Formats (Dezember 2017).

RFC 8259 ist der aktuelle Internet-Standard für JSON, ersetzt die früheren RFC 7159 und RFC 4627. Definiert Syntax, Datentypen und Encoding (UTF-8 verpflichtend). Inhaltlich identisch zu ECMA-404. Eine Anpassung an JSON ist seitdem nicht mehr geplant - das Format gilt als stable.

Verwandt: ECMA-404,JSON

SAX-Parser

Streaming-Parser-Strategie: Event-basiert statt DOM-Baum.

SAX-artige JSON-Parser (z.B. clarinet, stream-json, oboe) emittieren Events während des Parsings: onkey, onvalue, oncloseobject. Vorteil: konstante Speichernutzung egal wie groß die Datei. Nachteil: kein Random-Access, Logik schwieriger. Empfohlen ab Datei-Größen über 100 MB.

Verwandt: DOM-Parser,Streaming

String

JSON-Texttyp, immer in Double-Quotes, mit Escape-Sequenzen.

JSON-Strings müssen mit " begrenzt sein, niemals mit Single-Quotes. Innerhalb gelten Backslash-Escape-Sequenzen: \" \\ \/ \b \f \n \r \t und \uXXXX. Strings sind als Unicode-Codepoint-Sequenz definiert - was bei Surrogate-Pairs (U+10000+) sauberes Encoding verlangt.

Verwandt: Escape-Sequence,Unicode-Escape

Trailing-Comma

Komma nach dem letzten Element - in JSON verboten, in JS erlaubt.

Trailing-Commas wie {"a": 1, "b": 2,} oder [1, 2, 3,] sind in striktem JSON ungültig (RFC 8259), in JavaScript-Object-Literalen aber erlaubt. Häufigster Bug, weil Entwickler aus JavaScript-Habitus die Convention übertragen. JSON5 und JSONC erlauben sie ausdrücklich.

Verwandt: JSON5,JSONC

Unicode-Escape

\uXXXX-Notation für jedes Unicode-Zeichen unterhalb U+FFFF.

Mit \uXXXX kann jedes BMP-Zeichen (Basic Multilingual Plane) als 4-stellige Hex-Codepoint repräsentiert werden - z.B. \u00e4 für „ä". Höhere Codepoints (Emojis, seltene CJK) brauchen Surrogate-Pairs: \uD83D\uDE00 für „😀". JSON.stringify nutzt die Sequenzen je nach Implementation.

Verwandt: UTF-8,Escape-Sequence

UTF-16

Codierung mit 2-Byte-Einheiten; in JSON formal erlaubt, ungenutzt.

RFC 8259 erlaubt UTF-16 und UTF-32 für JSON-Streams, aber alle gängigen Tools schreiben UTF-8. UTF-16 nutzt Surrogate-Pairs für Codepoints über U+FFFF. Innerhalb von Strings ist Surrogate-Encoding in \u-Escapes weiterhin relevant - auch wenn das File-Encoding UTF-8 ist.

Verwandt: UTF-8,Unicode-Escape

UTF-8

Standard-Encoding für JSON laut RFC 8259.

JSON ist als UTF-8-codierte Sequenz spezifiziert - UTF-16 und UTF-32 sind formal noch erlaubt (RFC 8259, Section 8.1), aber praktisch ungenutzt. UTF-8 ist ASCII-rückwärtskompatibel, variabel breit (1-4 Bytes pro Codepoint) und dominiert das Web. BOM ist explizit verboten.

Verwandt: BOM (Byte Order Mark),Unicode-Escape