Json

Solo disponible en BuenasTareas
  • Páginas : 5 (1181 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de agosto de 2012
Leer documento completo
Vista previa del texto
JSON, Una alternativa viable al XML?


JSON o JavaScript Object Notation, es un estándar abierto basado en texto diseñado para intercambio de datos humanamente legible. Se deriva de JavaScript para la representación de estructuras de datos simples y matrices asociativas, llamados objetos. A pesar de su relación a JavaScript, es independiente del lenguaje, con programas de análisis disponiblesen muchos idiomas.

El formato JSON se especificó originalmente por Douglas Crockford, y se describe en el RFC 4627. El tipo de soporte oficial de Internet para JSON es application / json. La extensión de nombre de archivo es .json.

El formato JSON se utiliza a menudo para serializar y transmitir datos estructurados en una conexión de red. Se utiliza principalmente para transmitir datos entreun servidor y la aplicación de web, que sirve como una alternativa a XML.

JSON se utilizó en State Software, una compañía co-fundada por Crockford, comenzando alrededor de 2001. El sitio web JSON.org fue lanzado en 2002. En diciembre de 2005, Yahoo! comenzó a ofrecer algunos de sus servicios web en JSON. Google comenzó a ofrecer JSON feeds en su protocolo web GData en diciembre de 2006.Está basado en un subconjunto del Lenguaje de Programación JavaScript, Standard ECMA-262 3rd Edition - Diciembre 1999. JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen queJSON sea un lenguaje ideal para el intercambio de datos.

JSON está constituído por dos estructuras:

Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listaso sequencias.

Estas son estructuras universales; virtualmente todos los lenguajes de programación las soportan de una forma u otra. Es razonable que un formato de intercambio de datos que es independiente del lenguaje de programación se base en estas estructuras.

En JSON, se presentan de estas formas:

Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza con{(llave de apertura) y termine con }(llave de cierre). Cada nombre es seguido por :(dos puntos) y los pares nombre/valor están separados por ,(coma).



[pic]



Un arreglo es una colección de valores. Un arreglo comienza con [(corchete izquierdo) y termina con ](corchete derecho). Los valores se separan por ,(coma).



[pic]



Un valor puede ser una cadena de caracteres con comillasdobles, o un número, o true o false o null, o un objeto o un arreglo. Estas estructuras pueden anidarse.


A partir de la version 5.2.0 de PHP, las librerias de JSON estan incluidas en el nucleo de PHP.

La liberacion de PHP 5.2.0, que incluye por defect una extension para convertir valores de y a formato JSON, provee una buena ocasión para comparar las diferentes librerias de php existentesque apuntan a proveer las mismas capacidades.

La pagina oficial de JSON lista varias librerias de php, pero solamente 4 estan de hecho disponibles para descarga y se ven estables y mantenidas:

La “lib”, escrita por Omar Kilani es la ahora oficialmente parte de PHP, y disponible en PECL.

La JSON Lib, originalmente escrita por M. Migurski y ahora – casi – oficialmente parte de PHP.

Lalibrería de Zend Framework para JSON.

La extension JSONRPC (perteneciente a php-xmlrpc)



La primera es la unica libreria escrita en C. Su ventaja es evidente en tiempos de ejecucion, que es (era) acompanada por problemas con la portabilidad que las otras tres, siendo escritas en php puro, no tienen.

La segunda fue la primera implementacion de JSON en PHP. Su inclusion en PEAR es una...
tracking img