• Home
  • Tutorials
  • Impressum
  • HTML lernen
  • PHP Tutorial
  • TYPO3 Tutorial
  • Ajax Tutorial
    • Einführung in Ajax
    • Ajax Hello World im Detail
    • POST und GET Requests
    • XML und DOM am Beispiel
    • Analyse des XML Beispiels
    • JSON statt XML
    • Analyse des JSON Beispiels
    • Clientseitige Ajax Frameworks
    • Das Beispiel auf Prototype portiert
    • Ajax Tools - Debugging und Development
  • Eclipse Workshop
  • Suchmaschinenoptimierung
  • Apache Solr

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.

gehostet auf einem Greatnet Rootserver