3.7    Objekte in JSON

JSON steht für JavaScript Object Notation. Dies ist der Name für eine kompakte Schreibweise, die auf Objekte und auf Felder angewendet werden kann. Die JSON-Schreibweise ermöglicht Ihnen die Speicherung der Eigenschaften eines Objekts mitsamt deren Werten innerhalb einer einzigen Zeichenkette. Auf diese Weise wird der Transport von Daten zwischen verschiedenen Anwendungen vereinfacht.

Aktuelle Browser kennen das JSON-Objekt. Es besitzt Methoden, mit deren Hilfe Sie ein Objekt in eine transportable Zeichenkette umwandeln können. Dies gilt unabhängig davon, ob das Objekt mithilfe von JSON oder mithilfe einer Konstruktorfunktion erzeugt wird. Umgekehrt können Objekte aus einer solchen Zeichenkette erschaffen werden.

Im folgenden Beispiel wird ein Objekt im JSON-Format angelegt. Anschließend wird es mithilfe des JSON-Objekts umgewandelt.

...
<body><p>
<script>
      var dacia = { "farbe":"Rot", "geschwindigkeit":50.2 };
document.write(dacia.farbe + " " + dacia.geschwindigkeit + "<br>");
var zkette = JSON.stringify(dacia);
document.write(zkette + "<br>");
var renault = JSON.parse(zkette);
document.write(renault.farbe + " " + renault.geschwindigkeit + "<br>");
renault.geschwindigkeit += 2.5;
document.write("Schneller: " + renault.geschwindigkeit);
   </script></p>
</body></html>

Listing 3.13    Datei »obj_json.htm«

Bei Erzeugung eines Objekts in der kompakten Schreibweise steht das gesamte Objekt in geschweiften Klammern. Die einzelnen Eigenschaft-Wert-Paare sind durch ein Komma voneinander getrennt. Die Eigenschaft und der Wert eines Paars werden voneinander durch einen Doppelpunkt getrennt. Der Name der Eigenschaft wird in Anführungsstriche gesetzt. Falls es sich bei dem Wert um eine Zeichenkette handelt, geschieht dies ebenfalls. Ein Zahlenwert wird ohne Anführungsstriche notiert. Nachkommastellen werden mithilfe des Dezimalpunkts abgetrennt.

Ein Objekt wird mithilfe der Methode stringify() in eine Zeichenkette umgewandelt. Es folgt der umgekehrte Vorgang. Eine Zeichenkette wird mithilfe der Methode parse() in ein Objekt umgewandelt. Ein Zahlenwert kann auch in eine Berechnung einbezogen werden.

Die Ausgabe des Programms sehen Sie in Abbildung 3.9.

JSON-Format und JSON-Objekt

Abbildung 3.9    JSON-Format und JSON-Objekt

In Abschnitt 6.1.10 zeige ich Ihnen die Anwendung von JSON auf Felder und Objekte. In Abschnitt 8.4 werden JSON-Dateien gelesen.