JSON

Bei AJAX-Anwendungen - das erkennt man leicht am Namen „Asynchronous JavaScript and XML“ - ist XML das übliche Format, obwohl es wegen seiner aufgeblähten Struktur vielfach kritisiert wird. Für AJAX können aber auch andere Formate wie JSON[89] zum Einsatz kommen. JSON (JavaScript Object Notation) ist - der Name verrät es - besonders gut für JavaScript-Anwendungen geeignet, da die Datenstruktur hier nativ mit eval() in ein Objekt umgewandelt werden kann und wenig Overhead hat. Es existieren aber auch zahlreiche Implementierungen für PHP, Perl etc. Eine Ausgabe in JSON fehlt dem AJAM bisher jedoch leider. Man könnte aber beispielsweise die Plain-Text-Ausgabe clientseitig in JSON umwandeln, wenn einem das leichter fällt oder wenn es sich besser in vorhandene JS-Libs inegrieren lässt. Hier der Ansatz als Idee:

// angenommen in responseText ist der empfangene Antwort-Text
// gespeichert, was wir hier nur simulieren:
var responseText = 'Response: Success\n'
+'Message: Mailbox Message Count\n'
+'Mailbox: 123\n'
+'NewMessages: 0\n'
+'OldMessages: 0\n';

// einfache Anführungszeichen escapen:
responseText = responseText.replace( /\'/g, "\\'" );
// Felder quoten:
responseText = responseText.replace( /^([a-z\d]*):\s*(.*)/gmi, "'$1':'$2'," );
// in Objekt umwandeln:
eval('var packet = {'+ responseText +'}');

// jetzt kann man wie bei jedem Objekt so auf die Felder zugreifen:
alert( packet['NewMessages'] );   // gibt "0" aus

$Revision:473 $

Beta-Version!

Sie befinden sich auf der Entwickler-Version des 2008er Asterisk Buches. Diese Version ist noch nicht so vollständig wie die alte stabile Version. Dafür sind andere und neue Sachen nur in der neuen Version enthalten. Deshalb sind beide online.

Bitte melden Sie Fehler und Feedback zur neuen Version per E-Mail an den Autor.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um die Themen VoIP und Asterisk. Asterisk-Tag.org

Werbung