Codierung des Arrays in einen JSON String am Server
Auf der Seite des Servers wird das Ergebnis der Umrechnung in das Array $result geschrieben. Die PHP Funktion json_encode konvertiert den array in die JSON Notation.
$result = array("euro" => $euro,"dollar" => $dollar, "pound" => $pound);
print(trim(json_encode($result)));
Auswertung des JSON Antwort Strings
In der JSON Variante wird in der Callback Funktion handleCalcucation der Antwort String mit Eval in ein JavaScript Array konvertiert. Die Werte (calculation.dollar und calculation.pound) werden in die zugehörigen Felder im Formular geschrieben:
dollar_field = document.getElementById("dollar");
pound_field = document.getElementById("pound");
//antwort des servers
var caluclationResult = eval('('+req.responseText+')');
//schreiben des ergebnisses
dollar_field.value = caluclationResult.dollar;
pound_field.value = caluclationResult.pound;
Weitere Möglichkeiten der PEAR JSON implementierung
Neben der PHP Funktion json_encode, gibt es noch ein PEAR Paket das darüber hinaus noch mehr zu bieten hat.
Die Klassendokumentation der PEAR JSON Klasse ist zu finden unter folgender Url:
http://mike.teczno.com/JSON/doc/
Die Pear Seite zum Paket ist unter folgender Adressezu finden:
http://pear.php.net/pepr/pepr-comments-show.php?id=198
Die Pear Klasse bietet die Methode Encode zum Konvertieren einer PHP Datenstruktur in einen JSON String und die Methode decode($string) um einen JSON String in eine PHP Datenstruktur zu konvertieren. Die Methode reduce_string entfernt überflüssige Kommentare und Whitespaces.