JSON

JSON: ¿Qué es y para qué sirve?

Sabemos que, en el universo de la programación, el intercambio de datos es un aspecto fundamental, por eso hoy queremos hablarte sobre uno de los formatos más utilizados para tal fin: JSON

JSON, cuyo nombre corresponde a las siglas JavaScript Object Notation o Notación de Objetos de JavaScript, es un formato ligero de intercambio de datos, que resulta sencillo de leer y escribir para los programadores y simple de interpretar y generar para las máquinas.

JSON es un formato de texto completamente independiente de lenguaje, pero utiliza convenciones que son ampliamente conocidos por los programadores, entre ellos:

  • C
  • C++
  • C#
  • Java
  • JavaScript
  • Perl
  • Python
  • Entre otros

Dichas propiedades hacen de JSON un formato de intercambio de datos ideal para usar con API REST o AJAX. A menudo se usa en lugar de XML, debido a su estructura ligera y compacta. 

Muchos lenguajes de programación proporcionan métodos para analizar una cadena de texto con este formato en un objeto nativo y viceversa. 

Según la descripción de Stack Overflow, JSON “define seis tipos de valores: nulo, números, cadenas, booleanos, matrices y objetos”.

Pese a su nombre, no es necesariamente parte de JavaScript, de hecho, es un estándar basado en texto plano para el intercambio de datos, por lo que se usa en muchos sistemas que requieren mostrar o enviar información para ser interpretada por otros sistemas.

Una de las características de JSON, al ser un formato que es independiente de cualquier lenguaje de programación, es que los servicios que comparten información por este método no necesitan hablar el mismo idioma, es decir, el emisor puede ser Java y el receptor Python, pues cada uno tiene su propia librería para codificar y decodificar cadenas en este formato. 

Podemos concluir entonces en que JSON es un formato común para ‘serializar’ y ‘deserializar’ objetos en la mayoría de los idiomas.

Jorge Villalobos, ingeniero de Desarrollo de Softwares en Amazon, en su canal Latincoder en Youtube, explica que JSON no solo se emplea en JavaScript, sino en frameworks y lenguajes de desarrollo web de Back End. 

También Villalobos, en un blog titulado ‘Introducción a JSON, sintaxis y ejemplos’, precisa: es una notación de objetos basada en JavaScript, utiliza una sintaxis que nos permite crear objetos de manera rápida y simple, estos objetos pueden ser utilizados de la manera que queramos y la notación se utiliza muy comúnmente para crear servicios REST, objetos, e incluso fue adoptada por algunas bases de datos como MongoDB”.

Por todas las características que te hemos comentado, JSON se ha adoptado ampliamente en el mundo de la programación como una alternativa a XML. 

¿Cómo surgió JSON?

A principios de la década de los 90 surgió el problema de que las máquinas pudieran entenderse entre sí. Entonces utilizaban diferentes sistemas operativos y sus programas estaban escritos en diferentes lenguajes de programación. Una de las soluciones fue crear el estándar XML

Sin embargo, XML presentaba problemas sobre todo cuando se trataba de trabajar con gran volumen de datos, puesto que el procesamiento se volvía lento. Surgieron entonces intentos para definir formatos que fueran más ligeros y rápidos para el intercambio de información. Uno de ellos fue JSON, promovido y popularizado a principios de los 2000 por Douglas Crockford, un programador conocido como el ‘gurú’ de JavaScript.

Desde entonces JSON se caracteriza por reducir el tamaño de los archivos y el volumen de datos que es necesario transmitir. Por ello fue adquiriendo popularidad hasta convertirse en un estándar. Esto no significa que XML haya dejado de utilizarse, en la actualidad ambos se emplean para el intercambio de datos. 

En este punto te preguntarás: ¿Quién está usando JSON actualmente? En primer lugar, su creador es el arquitecto senior de Yahoo JavaScript, así que ya te imaginarás qué formato de intercambio de datos utiliza esta plataforma.

El uso de JSON está creciendo rápidamente en toda la industria, debido a que es una tecnología útil para los desarrollos. Recientemente Twitter migró de XML a JSON. Google Web Toolkit también trabaja con este formato.

Características de JSON: 

  • * JSON es solo un formato de datos.
  • * Requiere usar comillas dobles para las cadenas y los nombres de propiedades. Las comillas simples no son válidas.
  • * Una coma o dos puntos mal ubicados pueden producir que un archivo JSON no funcione. 
  • * Puede tomar la forma de cualquier tipo de datos que sea válido para ser incluido en un JSON, no solo arreglos u objetos. Así, por ejemplo, una cadena o un número único podrían ser objetos JSON válidos.
  • * A diferencia del código JavaScript, en el que las propiedades del objeto pueden no estar entre comillas, en JSON solo las cadenas entre comillas pueden ser utilizadas como propiedades.

Ventajas y desventajas de JSON y XML

Utilizar JSON o XML depende de las circunstancias y de las preferencias que en cada momento se determinen, pues cada uno tiene sus ventajas y desventajas. Aquí te mencionamos algunas: 

JSON

Ventajas: 

  • Es autodescriptivo y fácil de entender.
  • Su sencillez le ha permitido posicionarse como alternativa a XML.
  • Es más rápido en cualquier navegador.
  • Es más fácil de leer que XML.
  • Es más ligero (bytes) en las transmisiones.
  • Se parsea más rápido.
  • Velocidad de procesamiento alta.
  • Puede ser entendido de forma nativa por los analizadores de JavaScript.

Desventajas:

  • Algunos desarrolladores encuentran su escueta notación algo confusa.
  • No cuenta con una característica que posee XML: extensibilidad.
  • No soporta grandes cargas, solo datos comunes.
  • Para la seguridad requiere de mecanismos externos como expresiones regulares.

XML

Ventajas:

  • Tiene un formato estructurado y fácil de comprender.
  •  Separa radicalmente la información o el contenido de su presentación o formato.
  • Está diseñado para ser utilizado en cualquier lenguaje o alfabeto.
  • Su análisis sintáctico es fácil debido a las estrictas reglas que rigen la composición de un documento.
  • Tiene soporte a cualquier tipo de datos.
  • Se pueden definir estructuras complejas y reutilizables.

Desventajas:

  • El formato es sumamente estricto.
  • Lleva más tiempo procesarlo.
  • Complejidad de analizador (parser).
  • Un error en cualquier parte del formato puede hacer que todo el documento sea inválido.

¿Quieres conocer más sobre este tema y convertirte en un experto? Con Next U puedes aprender y dominar los lenguajes de códigos, herramientas, arquitectura, bases de datos y ¡más! Sin horarios, ni conocimiento previo, a tu propio ritmo, desde el lugar que elijas y en español.