JSON es un formato de datos de intercambio de Javascript que el auge de AJAX ha hecho muy popular. En javascript es mucho más cómodo trabajar con JSON frente a XML ya que podemos analizarlo rápidamente utilizando eval().
Cuando queremos trabajar con API´s como las de Amazon, Technorati, del.icio.us o Ficrk vía REST nos encontramos con que todas ellas devuelven los datos en XML. Gracias a PHP5 y utilizando sus extensiones DOM y XSL podemos transformar un documento XML en JSON de forma muy sencilla.
Veamos un ejemplo de cómo hacer esto con una consulta a la API de Technorati:
En primer lugar vamos a componer la URL con la que haremos nuestra consulta:
$technoratiApiKey = "introduceTuAPIdeTechnorati";
$url = "http://api.technorati.com/tag";
$tag = "usabilidad";
$request=$url."?key=".$technoratiApiKey."&tag=".urlencode($tag);
Y ahora creamos un nuevo objeto DOM y cargamos nuestro el fichero XML que nos devuelve la consulta:
$inputdom = new DomDocument();
$inputdom->load($request);
Para transformar los datos utilizaremos un xml2json.xsl, un fichero XSLT que tiene las instrucciones para transformar XML en JSON. Lo cargamos en un nuevo objeto DOM:
$xslt = "xml2json.xsl";
$xsl = new DomDocument();
$xsl->load($xslt);
¿Qué nos falta? pues: crear un procesador de XSLT en PHP, cargar nuestra xslt, realizar la transformación y generar el documento:
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveHTML();
Próximamente veremos cómo utilizar esta técnica para procesar información de diversas API´s REST mediante AJAX.
interesante, aunque hay otros fw, quizás, mejores que ci. ejemplo: yii o zend.
salU
A mi personalmente no me gusta Zend, pero para gustos los colores 🙂
Hay muchos frameworks y algunos muy interesantes, como por ejemplo Kohana, basado en CI
Saludos
Yo trabajo con Ci y me parece un buen framework y hasta el momento no he tenido la necesidad de probar o utilizar otro framework.
El hack que mas me interesa es el de prevenir la colisión de nombres entre controladores y modelos.
Cierto, Psycho, lo más interesante para mà también es el hack de las colisiones.
Saludos
interesante, y por cierto no habia notado que sentido web cambio de luck cosa que le sentó de maravilla
Hola khafra.
Si, año nuevo imagen nueva, me alegro de que te haya gustado, total sólo he tardado año y pico en hacerlo jejeje y ya por desesperación lo dejé asÃ, lo de diseñar no es lo mÃo.
Saludos