- JavaScript Objekt als Text (String) darstellen
- zur Speicherung oder zum Austausch von Objektdaten (z. B. Verwendung in localStorage, Requests)
- 1997 von Douglas Crockford spezifiziert (schlichtere Alternative zu XML) -> JavaScript Objektliterale als Vorbild
- Unterschiede von JSON zu JavaScript Objektliteralen:
- Hochkommas um die Eigenschafts-Bezeichner verpflichtend (Name von Name/Wert Paar)
- Doppelte Anführungszeichen verwenden
- nur bestimmte Werte zugelassen (keine Ausdrücke, keine Funktionen)
- Verwendung unabhängig von Programmiersprachen (nicht nur mit JavaScript)
- standardisierte Vorgabe, wie Objektdaten notiert werden
Aufbau
zwei Strukturen (finden sich in den meisten Programmiersprachen):
- Name/Wert Paare (entspricht JavaScript Object)
"name": wert
- mehrere getrennt durch Komma
- Wert: string, zahl, true, false, Object, Array, null
- umschlossen mit geschweiften Klammern {}
- Liste (entspricht JavaScript Array)
- Werte getrennt durch Komma
- umschlossen mit eckigen Klammern []
JSON{
"name": "Anna",
"age": 23
}
JSON["Anna", "Ben"]
JSON{
"name": "Lasagne",
"zutaten": [
{
"name": "Tomatensauce",
"menge": 500,
"einheit": "ml"
},
{
"name": "Nudelplatten",
"menge": 8,
"einheit": "Stück"
}
],
"zubereitungszeit": 120
}
JSON Parser Online