JSON (JavaScript Object Notation)

  • 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