Comment retourner JSON et XML

Vous devez choisir si vous allez retourner données JSON ou des données XML au moment de la programmation, et qui ne peut jamais changer, sauf si vous reprogrammer la sortie. Le monde serait un meilleur endroit si vous pouviez revenir à la fois XML et JSON, selon ce que le programme appelant veut.

Accomplir cet exploit est une question d'accepter l'entrée pour le service Web, puis fournir une sortie appropriée. La liste suivante fournit le code pour ce service web.




? lt; - (! preg_match ('/ JSON | xml /', $ format)) phpif (isset ($ _ GET ['format'])) {$ format = $ _GET ['format'] si {print "S'il vous plaît choisir un format: JSON ou XML "-exit-}} else {print" S'il vous plaît choisir un format: JSON ou XML "-exit -} $ friendlyDate = date (" M d, Y ") - $ unixtime = temps () - $ mois = date ("M") - $ dayOfWeek = date ("l") - $ l'an = date ("Y") - $ returnData = array ("friendlyDate" => $ friendlyDate, "unixtime" => $ unixtime, "monthNum" => $ par mois, "dayOfWeek" => $ dayOfWeek, "yearNum" => $ l'an) -Si (format $ == "xml") {$ xml = new DOMDocument () - $ dateInfoElement = $ xml- > createElement ("dateInformation") - foreach ($ returnData que $ key => $ value) {$ xmlNoeud = $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- Type: application / json "-} tête ($ header) Sortie $ -print ->

Il peut être utile de briser ce code vers le bas. La première partie du code semble pour le format à renvoyer:

if (isset ($ _ GET ['format'])) {$ format = $ _GET ['format'] - si (preg_match (! '/ ^ (JSON | XML) $ /', $ format)) {print "S'il vous plaît choisissez un format: JSON ou XML "-exit-}} else {print" S'il vous plaît choisir un format: JSON ou XML "-exit-}

Si un GET paramètre de format est disponible, il est mis à la $ format variable. Cette variable est testée en utilisant le preg_match () fonction. Cette fonction utilise une expression régulière pour vérifier que le format paramètre est réglé sur JSON ou xml (minuscule). Dans le cas contraire, une erreur est affichée, comme cela est le cas si le format paramètre est pas réglé du tout.

De là, le code effectue les mêmes fonctions que vous avez déjà vu, l'obtention de la date dans différents formats et de les placer dans un tableau. Enfin, le Code met en place un conditionnelle basée sur le format requis. Si elle est XML, puis le code XML est liée executed- si le format demandé est JSON, puis le code JSON liée est exécutée. Enfin, la sortie est envoyée au navigateur.


» » » » Comment retourner JSON et XML