Zum Hauptinhalt springen

RFC 7159 - The JavaScript Object Notation (JSON) Data Interchange Format

  • Status: Proposed Standard
  • Veröffentlicht: March 2014
  • Stream: IETF
  • Ersetzt: RFC4627, RFC7158
  • Ersetzt durch: RFC8259
  • Errata: Keine Errata

Zusammenfassung (Abstract)

JavaScript Object Notation (JSON) ist ein leichtgewichtiges, textbasiertes, sprachunabhängiges Datenaustauschformat. Es stammt aus dem ECMAScript-Programmiersprachen-Standard. JSON definiert einen kleinen Satz von Formatierungsregeln für die portable Darstellung strukturierter Daten.

Dieses Dokument beseitigt Inkonsistenzen mit anderen JSON-Spezifikationen, behebt Spezifikationsfehler und bietet erfahrungsbasierte Interoperabilitätsrichtlinien.


JSON-Kernkonzepte

Datentypen

JSON unterstützt folgende Datentypen:

Primitive Typen (Primitive Types):

  • string - Zeichenkette
  • number - Zahl
  • boolean - Boolescher Wert (true/false)
  • null - Nullwert

Strukturierte Typen (Structured Types):

  • object - Objekt (ungeordnete Sammlung von Schlüssel-Wert-Paaren)
  • array - Array (geordnete Sequenz von Werten)

Syntaxbeispiele

Objekt (Object):

{
"name": "张三",
"age": 30,
"city": "北京"
}

Array:

[1, 2, 3, 4, 5]

Verschachtelte Struktur:

{
"users": [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
],
"total": 2
}

Hauptänderungen gegenüber RFC 4627

  1. Lockerere JSON-Text-Definition: Erlaubt JSON-Text als beliebigen JSON-Wert, nicht nur Objekte oder Arrays
  2. Fehlerbehebungen: Behebt in RFC 4627 gemeldete Fehler
  3. Interoperabilitätsrichtlinien: Bietet mehr Ratschläge zur Implementierungs-Interoperabilität
  4. Kodierungsklarheit: Betont die Verwendung von UTF-8-Kodierung

  • Offizieller Originaltext: RFC 7159 (TXT)
  • Offizielle Seite: RFC 7159 DataTracker
  • Obsoletes: RFC 4627 (alte JSON-Spezifikation)
  • Obsoleted by: Wurde durch RFC 8259 ersetzt
  • Medientyp: application/json
  • Dateierweiterung: .json

Schnellreferenz

MIME-Typ

Content-Type: application/json; charset=UTF-8

Häufig verwendete Tools

Online-Validierung:

Programmiersprachen-Unterstützung:

JavaScript:

const obj = JSON.parse('{"name":"Alice"}');
const str = JSON.stringify({name: "Bob"});

Python:

import json
obj = json.loads('{"name":"Alice"}')
str = json.dumps({"name": "Bob"})

Java:

// Mit Jackson oder Gson Bibliothek
ObjectMapper mapper = new ObjectMapper();
MyObject obj = mapper.readValue(jsonString, MyObject.class);

Wichtiger Hinweis: RFC 7159 wurde durch RFC 8259 ersetzt, bleibt aber ein wichtiges Dokument zum Verständnis der JSON-Entwicklungsgeschichte. Moderne Anwendungen sollten RFC 8259 als aktuellen Standard verwenden.