JSON

JSON ist die Abkürzung für Javascript Object Notation. Es handelt sich hierbei um eine Schreibweise mit deren Hilfe Objekt- und Array-Strukturen in einer speziellen Zeichenfolge geschrieben werden. Eine JSON Zeichenfolge kann mit Hilfe von JavaScript im Browser des Clients in die Objekt- und/oder Array-Struktur zurückverwandelt werden. Darüber hinaus kann man diese Zeichenfolgen vom Client an einen Server schicken. Mit Hilfe u. a. der serverseitigen Skriptsprache PHP kann man diese JSON-Zeichenfolgen auch in PHP-Arrays umwandeln, so dass sich JSON als Datenübertragungsformat vergleichbar XML und serialisierten PHP Objekten dienen.

Voraussetzungen

  • PHP: PHP unterstützt seit Version PHP5.2.0 JSON bereits als Teil des TYPO3 Core. Vor PHP Version 5.2.0 war ein zusätzliches Package erforderlich.

Syntax (Auszug)

  • Objekte: Geschweifte Klammern
  • Arrays: Eckige Klammern
  • Einzelne Werte: Separiert durch Kommata
  • Assoziative Arrays: Name-Wert-Zuordnung durch Name in doppelten Anführungszeichen gefolgt einem Doppelpunkt als Trennzeichnen zum Wert

Datentypen

  • number: Ganzzahl oder Fließzahl
  • string: Zeichenfolge in doppelten Anführungszeichen, siehe Strings
  • Boolean: true oder false
  • array: [wert1,wert2,wert3,.....,wertn]
  • object: { string:value,string:value,string:value}
  • null

Strings und zu maskierende Sonderzeichen in Strings

Als Zeichenfolge kann im Grunde jede Folge von Text- und Zahlenzeichen verwendet werden. Diese sind in doppelten Anführungszeichen zu setzen. Da Texte allerdings mitunter auch Sonderzeichen enthalten und nicht zuletzt schon das Zeichen " gesondert formatiert werden muss, damit man ein " am Ende der Zeichenfolge von einem " innerhalb des Textes differenzieren kann, müssten Sonderzeichen wie im Grunde genommen in jeder zeitgemäßen Programmiersprache mit einem Backslash \ maskiert werden, dh. aus einem Text mit "Wir nannten Ihn "Supermann"" muss dann "Wir nannten ihn \"Supermann\"" werden.

Zu maskierende Zeichen (Auszug):

  • "
  • \
  • /
  • b (backspace)
  • f (formfeed)
  • n (newline) : Neue Zeile
  • r (carriage return) : Zeilenumbruch
  • t (horizontal tab) : Tabulator
  • u(4 hex digits) : Unicode-/Sonderzeichen

Beispiel: mietwohnung.json

{

"Anzahl_Zimmer": 3,
"Fläche": 46,
"Vermieter": "Frau Honigkuchen",
"Kaltmiete": 640,
"Nebenkosten": 480,
"Ausstattung":
     [
     "Kühlschrank": true,
     "Waschmaschine": true,
     "Fernseher": true,
     "WLAN": true,
     "Balkon": false
     ]

}

Datenstruktur eines PHP-Objekts und Wertezuweisung

$mietwohnung=new Mietwohnung();
$mietwohnung->Anzahl_Zimmer=3;
$mietwohnung->Ausstattung[Kühlschrank]=true

 

Mehr Informationen

www.json.org