Wie erfolgt die Rückkehr JSON und XML

Sie müssen sich entscheiden, ob Sie JSON-Daten oder XML-Daten an Programmierzeit zurückkehren wird, und das kann nie ändern, wenn Sie die Ausgabe umprogrammieren. Die Welt wäre ein besserer Ort, wenn Sie sowohl XML und JSON zurückkehren könnte, je nachdem, was das aufrufende Programm will.

diese Leistung zu erreichen, ist eine Sache Eingang für den Web-Service zu akzeptieren und dann entsprechende Ausgabe bereitstellt. Die folgende Auflistung stellt den Code für diesen Web-Service.

? Lt; - (! Preg_match ( '/ json | xml /', $-Format)) phpif (isset ($ _ GET [ 'format'])) {$ format = $ _GET [ 'format'], wenn {print "Bitte wählen Sie ein Format: json oder xml "-exit-}} else {print" Bitte wählen Sie ein Format: json oder xml "-exit -} $ friendlyDate = date (" M d, Y ") - $ unixtime = time () - $ Monat = date ( "M") - $ dayOfWeek = date ( "l") - $ year = date ( "Y") - $ returnData = array ( "friendlyDate" => $ friendlyDate "Unixtime" => $ unixtime, "monthNum" => $ month "dayOfWeek" => $ dayOfWeek "yearNum" => $ year) -wenn ($ format == "xml") {$ xml = new DOMDocument () - $ dateInfoElement = $ xml- > createelement ( "dateInformation") - foreach ($ returnData wie $ key => $ value) {$ Xmlnode = $xml->createElement($key,$value)-$dateInfoElement->appendChild($xmlNode)-}$xml->appendChild($dateInfoElement)-$output = $ Xml-> saveXML () - $ header = "Content-Type: text / xml" -} else if ($ format == "json") {$ output = json_encode ($ returnData) - $ header = "Content- Typ: application / json "-} header ($ header) -Druck $ output ->

Es kann hilfreich sein, diesen Code zu brechen. Der erste Teil des Codes sieht für das Format zurück zu senden:

if (isset ($ _ GET [ 'format'])) {$ format = $ _GET [ 'format'] - if (preg_match ( '/ ^ (json | xml) $ /', $-Format)) {print "Bitte wählen Sie ein Format: json oder xml "-exit-}} else {print" Bitte wählen Sie ein Format: json oder xml "-exit-}

Wenn ein BEKOMMEN Parameter Format verfügbar ist, wird es auf die eingestellte $ format Variable. Diese Variable wird unter Verwendung getestet das preg_match () Funktion. Diese Funktion verwendet einen regulären Ausdruck zu prüfen, ob die Format Parameter auf json oder xml (Klein geschrieben). Wenn dies nicht der Fall, wird ein Fehler angezeigt, wie es der Fall ist, wenn die Format Parameter wird nicht gesetzt.

Von dort führt der Code die gleichen Funktionen, die Sie bereits gesehen haben, das Datum in verschiedenen Formaten zu erhalten und sie in ein Array platzieren. Schließlich legt der Code eine bedingte basierend auf dem gewünschten Format auf. Wenn es XML ist, dann wird der XML-Code ist executed-, wenn die angeforderte Format JSON ist, dann wird die JSON-bezogenen Code ausgeführt. Schließlich wird die Ausgabe an den Browser gesendet wird.

Menü