- object
- {}
{ members }
- members
- string : value
members , string :
value
- array
- []
[ elements ]
- elements
- value
elements , value
- value
- string
number
object
array
true
false
null
- string
- ""
" chars "
- chars
- char
chars char
- char
- any-Unicode-except-"-or-\-or-control
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
- number
- int
int frac
int exp
int frac exp
- int
- digit
digit1-9 digits
- digit
- digit1-9 digits
- frac
- . digits
- exp
- e digits
- digits
- digit
digits digit
- e
- e
e+
e-
E
E+
E-
JSON (JavaScript Object Notation) ist ein schlankes Datenaustauschformat, das für Menschen einfach zu lesen und zu schreiben und für Maschinen einfach zu parsen (Analysieren von Datenstrukturen) und zu generieren ist. Es basierd auf einer Untermenge der JavaScript Programmiersprache, Standard ECMA-262 dritte Edition - Dezember 1999 (704 KB, in englischer Sprache).
Bei JSON handelt es sich um ein Textformat, das komplett unabhängig von Programmiersprachen ist, aber vielen Konventionen folgt, die Programmieren aus der Familie der C-basierten Sprachen (inklusive C, C++, C#, Java, JavaScript, Perl, Python und vielen anderen) bekannt sind. Diese Eigenschaften machen JSON zum idealen Format für Datenaustausch.
JSON baut auf zwei Strukturen auf:
-
Name/Wert Paare. In verschiedenen Sprachen wird dies realisiert als ein Objekt (object), Satz (record), Struktur (struct), Wörterbuch bzw. Verzeichnis (dictionary), Hash-Tabelle (hash table), Schlüssel-Liste (keyed list) oder als ein assoziatives Array (associative array).
-
Eine geordnete Liste von Werten. In den meisten Sprachen wird das als Array (array), Vektor (vector), Liste (list) oder Sequenz (sequence) realisiert.
Hierbei handelt es sich um universelle Datenstrukturen, die von so gut wie allen modernen Programmiersprachen in der einen oder anderen Form unterstützt werden. Es macht also Sinn, dass ein zwischen Programmiersprachen austauschbares Datenformat auch auf diesen Strukturen aufbaut.
In JSON gibt es:
-
Ojekte: Ein Objekt ist eine ungeordnete Menge von Name/Wert Paaren. Ein Objekt beginnt mit { (geschwungene Klammer auf) und endet mit } (geschwungene Klammer zu). Jedem Namen folgt ein : (Doppelpunkt) gefolgt vom Wert und die einzelnen Name/Wert Paare werden durch , (Komma) voneinander getrennt.
-
Ein Array ist eine geordnete Liste von Werten. Arrays beginnen mit [ (eckige Klammer auf) und enden mit ] (eckige Klammer zu). Werte werden durch , (Komma) voneinander getrennt.
-
Ein Wert kann ein Objekt, ein Array, eine Zeichenkette (string), eine Zahl oder einer der Ausdrücke true, false oder null sein. Diese Strukturen können ineinander verschachtelt sein.
-
Eine Zeichenkette besteht aus keinem (leere Zeichenkette) oder mehr Unicode Zeichen und wird von doppelten Anführungszeichen umschlossen. Eine Zeichenkette kann Escape-Sequenzen mit einer besonderen Bedeutung enthalten. Ein einzelnes Zeichen wird durch eine Zeichenkette bestehend aus nur einem einzigen Zeichen dargestellt.
Mit der Ausnahme einiger Details zur Enkodierung beschreibt das die gesamte Sprache.
Eine Zeichenkette (string) in JSON ist einer Zeichenkette in C oder Java sehr ähnlich. Eine Zahl in JSON ist einer Zahl in C oder Java sehr ähnlich mit der Ausnahme, dass oktale und hexadezimale Zahlen nicht verwendet werden.
Leerzeichen können zwischen JSON-Elementen beliebig eingefügt werden.
Weitere Informationen finden Sie auf json.org
|