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- Zeichenkettenumber- Zahlboolean- 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
- Lockerere JSON-Text-Definition: Erlaubt JSON-Text als beliebigen JSON-Wert, nicht nur Objekte oder Arrays
- Fehlerbehebungen: Behebt in RFC 4627 gemeldete Fehler
- Interoperabilitätsrichtlinien: Bietet mehr Ratschläge zur Implementierungs-Interoperabilität
- Kodierungsklarheit: Betont die Verwendung von UTF-8-Kodierung
Verwandte Ressourcen (Related Resources)
- 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.