JSON erzeugen
Problem
Sie haben ein JavaScript-Objekt mit Daten, die serialisiert werden sollen, um sie leichter speichern und wieder auslesen zu können.
Lösung
(function($) { $(document).ready(function() { var messageObject = { title: 'Hallo Welt!', body: 'It\'s great to be alive!' }; var serializedJSON = JSON.stringify( messageObject ); }); })(jQuery);
Diskussion
Die JavaScript Object Notation (JSON) ist ein verbreitetes Datenformat, das genutzt wird, um Daten zwischen dem Browser und dem Server auszutauschen. Es ist ein leichtgewichtiges Format, einfach zu nutzen und lässt sich bequem in JavaScript parsen. Lassen Sie uns zunächst ein einfaches Objekt anschauen:
var messageObject = { title: 'Hallo Welt!', body: 'It\'s great to be alive!' };
In diesem Beispiel haben wir ein einfaches
Objekt mit den beiden Attributen title
und body
. Es ist ziemlich einfach,
eine serialisierte Version des Objekts zu erzeugen:
var serializedJSON = '{"title":"Hallo Welt!","body":"It\'s great to be alive!"}';
Die beiden häufigsten Aufgaben bei der Arbeit
mit JSON sind die Serialisierung (Umwandeln eines Objekts in eine
String-Darstellung) und die Deserialisierung (Umwandeln einer
String-Darstellung in ein Objekt-Literal). Momentan bieten nur
wenige Browser direkten Zugriff auf JSON-Funktionen (wie zum
Beispiel Firefox 3.1+ und der Internet Explorer 8). Andere Browser
planen dies, da JSON mittlerweile Teil der Spezifikation von ECMA
3.1 ist. Bis dahin gibt es zwei übliche Vorgehensweisen bei der
Arbeit mit JSON-Daten. Douglas Crockford hat eine
JavaScript-Implementierung für das Kodieren und Dekodieren von JSON
geschrieben, die Sie unter http://jquery-cookbook.com/go/json finden. Lassen Sie
uns das eben angeführte Objekt mit Hilfe der JSON
-Bibliothek serialisieren:
var serializedJSON = JSON.stringify( messageObject );
Jetzt haben wir eine String-Darstellung, die wir an unseren Server schicken können – zum Beispiel mit einer Ajax-Anfrage oder durch das Abschicken einer Form.