D ie Struktur von JSON basiert auf Schlüssel-Wert-Paaren, ähnlich wie bei Objekten in JavaScript, und geordneten Listen, bekannt als Arrays. Schlüssel müssen Zeichenketten (Strings) sein und in doppelten Anführungszeichen stehen. Werte können Strings, Zahlen, boolesche Werte (true/false), Arrays, Objekte oder der spezielle Wert `null` sein.
Die JSON-Syntax ist streng definiert, um Eindeutigkeit und einfache Verarbeitung zu gewährleisten. Ein JSON-Objekt beginnt und endet mit geschweiften Klammern {}
. Im Inneren befinden sich null oder mehr Schlüssel-Wert-Paare, getrennt durch Kommas. Jeder Schlüssel ist eine Zeichenkette in doppelten Anführungszeichen, gefolgt von einem Doppelpunkt :
und dem dazugehörigen Wert.
Beispiel: { "name": "Beispielprodukt", "preis": 49.99, "verfügbar": true }
.
Arrays in JSON sind geordnete Listen von Werten und werden durch eckige Klammern []
dargestellt. Die Werte innerhalb eines Arrays werden durch Kommas getrennt. Die Werte können unterschiedliche Datentypen haben, einschließlich anderer Objekte oder Arrays.
Beispiel: { "kategorien": ["Elektronik", "Computer", "Zubehör"] }
.
Verschachtelte Strukturen sind ebenfalls möglich: { "daten": [ { "id": 1, "wert": "A" }, { "id": 2, "wert": "B" } ] }
.
JSON unterstützt eine begrenzte, aber mächtige Menge an Datentypen:
"Hallo Welt"
).123
, -4.56
, 1.2e3
). Keine Oktal- oder Hexadezimalnotation.true
oder false
(kleingeschrieben).[1, "zwei", true]
).{ "stadt": "Berlin", "plz": "10117" }
).null
, kleingeschrieben).Da die korrekte Syntax entscheidend ist, sollte JSON immer validiert werden, bevor es verwendet oder gesendet wird. Fehlerhafte Syntax kann dazu führen, dass Anwendungen abstürzen oder Daten nicht korrekt verarbeitet werden. Es gibt zahlreiche Online-Validatoren und Bibliotheken in verschiedenen Programmiersprachen, die prüfen, ob ein JSON-String der Spezifikation entspricht.
Häufige Fehlerquellen sind fehlende oder falsch platzierte Kommas, die Verwendung von einfachen statt doppelten Anführungszeichen für Schlüssel und Strings oder nicht unterstützte Elemente wie Kommentare.