Librerías para trabajar con JSON en PHP

La semana pasada, mientras trabajaba en el sitio web de mivecindad.com necesité trabajar con JSON dado que la capa de servicios que tiene la aplicación así lo requiere. La comunicación entre el sitio web y la aplicación es muy básica, un formulario recoge los datos para registrar una comunidad, se genera el JSON, se envía y posteriormente se valida el resultado de la operación.

Para el sitio web estamos usando yii framework y el pequeño modelo (datos) que necesitamos (persona, dirección, comunidad) se construye según la propuesta del framework. Me dejé llevar pensado que luego tendría la posibilidad de generar mi JSON según lo requiere el servicio y me encontré bastante limitado.

En mi entorno de desarrollo tengo compilado PHP con soporte (nativo, parte del core de PHP) para JSON. Lo probé, no conseguí hacer lo que necesitaba sin reinventar la rueda en el framework, y decidí buscar algo de información para conocer qué otras opciones tenía. La idea era encontrar alguna librería que me permitiese manipular JSON con mayor flexibilidad.

  1. Extensión de PECL. Realmente no es una opción porque esta extensión es la que ahora forma parte del core de PHP y está muy limitada.
  2. Service JSON. Un paquete de PEAR cuya última versión fue publicada a comienzos de este año. Al igual que la anterior, muy limitada.
  3. Zend_JSON. Realmente tampoco era una opción porque no estoy usando Zend framework, pero es bueno saber que está ahí.

Hay algunas (pocas) opciones más pero ninguna hacía lo que necesitaba. Tengo que reconocer que vengo muy condicionado porque en Java sí existen librerías que permiten una mayor manipulación en la codificación. Concretamente en nuestros últimos proyectos estamos usando FlexJSON (v.2.0b4, aunque ya está publicada la v2.1).

¿Realicé una mala búsqueda de información o realmente lo que está publicado se limita a decode/encode? Cualquier sugerencia será bienvenida para completar esta pequeña entrada en el blog.

Finalmente decidí hacer algo muy simple pero no por ello menos eficaz. Comprobé que si en lugar de trabajar con objetos, trabajaba con un array asociativo, podía obtener el JSON que necesitaba, por lo tanto, creé dicho array a partir de los datos almacenados en el modelo (clases de yii framework). Dejo una última referencia con una comparativa interesante.

2 thoughts on “Librerías para trabajar con JSON en PHP

  1. Comparativa muy interesante. Por cierto, porque Yii y no otros como Zend,Symfony o CI ? Es pura curiosidad. Yii no lo he usado pero tiene una pinta estupenda aunque los nombre de las clases me parecen confusos.
    Saludos

  2. Hola Antonio:

    Pues aunque te pueda sorprenda, no tengo ninguna justificación técnica, simplemente sentí curiosidad y un proyecto ideal para probarlo. El sitio web http://mivecindad.com es muy básico y consideramos que era perfecto para probar yii framework.

    Ahora también lo estamos usando para http://clinkerhq.com. En unos días sacaremos la versión completa del sitio web.

    Yii framework me gusta, tiene cosas muy bien pensadas y encaja perfectamente en nuestra caja de herramientas.

    Un saludo

Leave a Reply

Your email address will not be published. Required fields are marked *