Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

Introducción a JSON

votar
Archivado en JavaScript con fecha 9/Jun/2006 - 2 comentarios

JSON empieza a pegar fuerte ya que combinándolo con Ajax las posibilidades son infinitas. Según la Wikipedia:

JSON, acrónimo de “JavaScript Object Notation”, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de Javascript pero no requiere el uso de Javascript.

Básicamente JSON proporciona una manera sencilla de convertir matrices, objectos o variables en general desde cualquier lenguaje a Javascript mediante una representación en texto plano la variable que luego es interpretada por el motor Javascript.

Los que programeis en PHP conocereis de sobra la función serialize, que permite convertir una variable en texto plano que puede almacenarse en un archivo o una base de datos para recuperarla tal cual ( las variables de sesión de PHP se guardan así ). Pues esto es exactamente lo mismo.

Por ejemplo, partamos de esta matriz en PHP:

$matriz = array(256, 512, array('p1'=>256, 'p2'=>512));

Se realiza la transformación y se interpreta. Desde Javascript:

alert(matriz[0]);
alert(matriz[2].p2);

El primer alert mostraría 256 y el segundo 512. Como se ve, las matrices asociativas se convierten a objetos en Javascript debido a la carencia de éste. El resto de variables se mantiene.

¿Y cuál es la utilidad real de esto?. Imaginad un formulario para introducir los datos de una persona. Al meter el NIF se comprueba que exista en la base de datos. Si es así se cargan los datos mediante Ajax y JSON y se autorrellena el formulario permitiendo actualizar los datos.

¿Y cómo se usa esto?. Necesitaremos las dos partes: un codificador en nuestro lenguaje favorito que puede encontrarse en los enlaces de JSON.org ( Para PHP he usado tanto la extensión php-json en mi servidor como la clase Services_JSON ) y el descodificador en Javascript, que añade el método parseJSON() al objeto String.

Un ejemplo simple con la extensión php-json:

<script type="text/javascript">
datos = '<?php echo json_encode(array('nombre'=>'David')); ?>';
datos = datos.parseJSON();
alert(datos.nombre);
</script>

Esto es aplicable a Ajax simplemente haciendo que la URL consultada devuelva variables serializadas.

Mejorando Eclipse para desarrollo web

votar
Archivado en Software con fecha 22/May/2006 - 3 comentarios

No le había prestado demasiada atención a Eclipse hasta la salida de PHP IDE ( había probado los plugins PHPEclipse y Xored Trustudio con bastante decepción ), pero ahora empieza a ser rival digno para el gran Zend Studio.

El problema es que de serie no trae todo lo deseable. El paquete Web Tools Platform trae editor HTML, Javascript, CSS, JSP y SQL, editor avanzado de XML y una interesante herramienta para consultas a bases de datos ( al estilo Zend Studio ). Pero a mi me faltaban algunas cosillas:

  • Soporte para Subversion: Subclipse
  • Soporte para SFTP: Sftp File Synchronization
  • Editor de JavaScript avanzado: JSEclipse. Éste es especialmente interesante porque tiene por fin un sistema decente de escritura predictiva y ayudas incluso con soporte para Prototype.
  • Accesos y consultas a bases de datos: QuantumDB

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons