JSON

Tabla de contenidos

Resumir con:

JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero y ampliamente utilizado para crear aplicaciones web de carga asíncrona. Se utiliza para representar información estructurada siempre en forma de texto legible tanto para humanos como para los servidores con los que se comunica en formato .json.

Se suele emplear para trabajar con AJAX como alternativa al formato XML, ya que este último resulta más pesado y, por tanto, menos práctico para establecer un intercambio de información rápido entre servidores y los ordenadores de los usuarios.

Cabe mencionar que JSON es un formato muy versátil, pues permite la comunicación de dos programas que pueden codificarse en lenguajes de programación totalmente diferentes como Java y Python.

Grandes empresas como Twitter, Facebook (ahora Meta), Yahoo o Google se decantan por el formato JSON en todos sus servicios en línea.

¿Para qué sirve JSON?

JSON se utiliza comúnmente para transmitir datos entre aplicaciones web y servicios a través de HTTP como parte de las API (Interfaces de Programación de Aplicaciones).

Es especialmente útil en el desarrollo de aplicaciones web y móviles porque es fácil de entender y procesar tanto por los humanos como por los sistemas informáticos. Además, gracias a su formato ligero, es más eficiente en términos de transmisión de datos que otros formatos más verbosos, como XML.

Adicionalmente, JSON también se utiliza para comunicar diferentes componentes de sistemas distribuidos e intercambiar datos en sistemas del internet de las cosas. Además, los ficheros JSON también son útiles para almacenar datos temporalmente.

Las estructuras de datos principales que se generan con JSON son:

Objetos

Son colecciones no ordenadas de pares clave-valor, donde las claves son cadenas y los valores pueden ser cualquier tipo de dato válido, como números, cadenas, booleanos (false o true), objetos anidados o incluso matrices.

Ejemplo de objeto en JSON:

{

  «nombre»: «Juan»,

  «edad»: 30,

  «casado»: false,

  «hobbies»: [«fútbol», «lectura», «viajes»]

}

Arrays

También llamados vectores, son listas ordenadas de valores, donde cada valor puede ser nuevamente un objeto JSON, una cadena, un número, un booleano o incluso otro arreglo.

Ejemplo de array en JSON:

[

  {

    «nombre»: «Ana»,

    «edad»: 25

  },

  {

    «nombre»: «Pedro»,

    «edad»: 28

  },

  {

    «nombre»: «Luisa»,

    «edad»: 22

  }

]

¿JSON o XML?

La elección entre JSON y XML depende del contexto y de las necesidades específicas de cada aplicación o proyecto. Ambos formatos tienen sus ventajas y desventajas, por lo que es importante considerar varios factores antes de decidir cuál es mejor en un caso particular.

Ventajas de JSON

  • Es más ligero y tiene una estructura más simple que XML.
  • Es más fácil de leer y escribir para los humanos.
  • Está estrechamente relacionado con JavaScript, por lo que se integran fácilmente.
  • Es ampliamente lo utilizan la mayoría de las API web modernas.

 

Ventajas de XML

  • Permite una estructura más compleja y jerárquica más adecuada para representar datos complejos y documentos con metadatos adicionales.
  • XML admite la validación mediante esquemas (XSD) para garantizar la integridad y consistencia de los datos.
  • Tiene más recorrido y su uso está más asentado en una amplia variedad de plataformas y lenguajes de programación.

Compartir en:

Artículos relacionados

Hash

Un hash es una función matemática que toma una entrada (como un archivo, un mensaje o cualquier tipo de dato) y devuelve una cadena de caracteres alfanuméricos de longitud fija, que representa de manera única esa entrada. Dicho de forma simple, es como

Bastionado

El bastionado, también conocido como seguridad de aislamiento o en inglés bastion security, es un concepto de seguridad informática que consiste en la creación de un entorno aislado y altamente seguro, conocido como un bastión, para proteger los recursos informáticos críticos de una

Objeto

En la programación orientada a objetos (POO), un objeto es una instancia de una clase, que es una plantilla o un modelo que define un conjunto de atributos y métodos (comportamientos). Los objetos combinan datos y comportamientos en una sola entidad, facilitando la

Metaheurística

La metaheurística es un conjunto de técnicas y algoritmos diseñados para resolver problemas de optimización complejos que no pueden ser abordados de manera eficiente mediante métodos exactos. Estos problemas suelen ser de gran escala, no lineales y con múltiples variables, lo que hace

Scroll al inicio