Formato JSON: qué es y para qué sirve

7min

En este post queremos hablaros del formato JSON, del que seguramente hayas podido oír hablar, dada su importancia en el mundo del desarrollo para la web.

Índice

¿Qué es el formato JSON?

JSON es un formato para la especificación de datos usado de manera habitual en las aplicaciones y sitios web. Su principal utilidad se da en el intercambio de datos entre sistemas informáticos. Se dice que es ligero porque los datos no suelen ocupar mucho, como sí ocurre con otros lenguajes de intercambio de datos. 

Tiene algunas características que lo han hecho especialmente adecuado y utilizado en el ámbito del desarrollo, especialmente en la web:

  • Su facilidad de escritura para los humanos, así como la lectura
  • El hecho de ser especialmente ligero, es decir, con poco peso en bytes
  • Es fácil de analizar y de generar
  • Es compatible con la mayoría de los lenguajes de programación usados en la actualidad

JSON es una notación completamente independiente del lenguaje de programación, por lo que se adapta a cualquier stack de tecnologías.  No obstante, al usar la notación de los literales de objeto JavaScript, el código resulta extremadamente familiar para los desarrolladores web.

¿Para qué sirve el formato JSON?

Veamos algunas de las aplicaciones más importantes de este lenguaje en el día a día del desarrollo de aplicaciones.

Transferencia de datos en aplicaciones web y servicios web

JSON es comúnmente utilizado para transmitir datos en aplicaciones web entre el cliente y el servidor. Un uso común de JSON es obtener datos de un servidor web a través de una solicitud HTTP. Este intercambio de datos puede ser entre dos servidores completos o entre un servidor y un cliente.

Los servicios web, generalmente bajo arquitecturas REST, son uno de los marcos habituales de uso de JSON, desplazando a otros lenguajes más formales como XML.

Configuración y almacenamiento de datos en aplicaciones

Los formatos JSON también se utilizan para almacenar configuraciones de las aplicaciones, ya sean introducidas en el código o como soporte al almacenamiento de las configuraciones introducidas por el  usuario. 

Además, muchos sistemas de bases de datos están adoptando este formato como notación para el almacenamiento de los datos. Comenzaron los Sistemas Gestores de Base de Datos conocidos como NoSQL, como MongoDB, pero actualmente la mayoría de los SGBD soportan también JSON como posibles tipos de datos para sus columnas.

Intercambio de datos entre diferentes lenguajes de programación

Debido a su naturaleza independiente del lenguaje, JSON se puede usar para intercambiar datos entre diferentes lenguajes de programación. Por ejemplo, un servidor puede estar escrito en PHP y el cliente web que consume los datos del backend PHP puede estar escrito en Javascript, Sin embargo, ambos pueden enviar y recibir datos en formato JSON.

Características del formato JSON

Ya hemos mencionado algunas de las características más importantes del formato JSON, pero queremos ampliar un poco más este punto.

Estructura de datos basada en pares clave / valor

La estructura de los datos JSON se basa en dos elementos: una colección de pares clave / valor y una lista ordenada de valores. Esto es similar a los tipos de datos utilizados en muchos lenguajes de programación, como los objetos y los arrays.

Ligereza y legibilidad

JSON es un formato ligero, lo que significa que no consume muchos recursos ni en su construcción ni a la hora de transferirlo por Internet. Esto hace que JSON sea ideal para dispositivos con recursos limitados, como smartphones. Además, su sintaxis clara y simple facilita la lectura y el análisis por parte de los humanos.

Soporte multiplataforma

JSON es independiente del lenguaje de programación, lo que significa que se puede usar en cualquier lenguaje que pueda analizar, generar y manipular datos en este formato. Esto hace que JSON sea muy flexible y adaptable a diferentes situaciones.

Sintaxis JSON

Ahora vamos a introducirnos en las reglas de construcción de los documentos con formato JSON. Verás que es todo muy simple y con pocas reglas los podrás entender y construir.

Objetos JSON

Los objetos en JSON son una colección de pares clave-valor. Se encierran entre llaves «{}» y cada clave se separa de su valor correspondiente por dos puntos «:». Los pares clave-valor se separan entre sí por comas «,».

Un ejemplo de objeto JSON lo podemos ver en el código siguiente:

{
    'nombre': 'Facundo',
    'edad': 30,
    'ciudad': 'Madrid'
}

Este objeto JSON consta de tres pares clave / valor:

  • La clave  «nombre» tiene el valor «Facundo»
  • La clave «edad» es 30
  • La clave «ciudad» tiene el valor  «Madrid»

Arreglos JSON

Los arreglos o arrays JSON son simples colecciones de elementos. Estos elementos pueden ser datos como números o cadenas pero también otros arreglos u objetos JSON.

Los arrays se encierran entre corchetes «[]» y los valores se separan entre sí por comas «,». Podemos ver un ejemplo a continuación.

[
    {
        'nombre': 'Facundo',
        'edad': 30,
        'ciudad': 'Madrid'
    },
    {
        'nombre': 'Saturnina',
        'edad': 98,
        'ciudad': 'Barcelona'
    },
    {
        'nombre': 'Adoración',
        'edad': 55,
        'ciudad': 'Sevilla'
    }
]

Este es un array de objetos JSON. Cada objeto en el array representa una persona, con información sobre su nombre, edad y ciudad.

Tipos de datos en JSON

El formato JSON soporta un número limitado de tipos de datos. Son los siguientes: 

  • Cadenas
  • Números
  • Booleanos (true / false)
  • Objetos JSON
  • Arrays, booleanos (verdadero / falso)
  • null (vacío)

Ventajas y beneficios del formato JSON

Por muchos motivos JSON se ha convertido en un formato ampliamente usado en el mundo del desarrollo, especialmente en la web.

Facilidad de uso y lectura por humanos

JSON es fácil de leer y escribir. Su estructura simple y clara facilita la comprensión de los datos a simple vista.

Eficiencia en la transmisión de datos

Debido a su naturaleza ligera, JSON es eficiente en la transmisión de datos, lo que lo hace ideal para la comunicación entre el cliente y el servidor en aplicaciones web pero en general también  en cualquier sistema distribuido.

Compatibilidad con numerosos lenguajes de programación

JSON es compatible con una amplia gama de lenguajes de programación, lo que lo convierte en una opción versátil para el intercambio de datos. Realmente todos los lenguajes actuales soportan JSON, por lo que sería difícil encontrar uno que no admita este formato.

Comparación con otros formatos de datos

Existen otros formatos y lenguajes para el intercambio de información entre sistemas. Los vamos a comparar con JSON.

JSON vs XML

Aunque XML fue inicialmente utilizado para los servicios web y el intercambio de datos en general, con el tiempo JSON ha venido desplazando a XML debido a su simplicidad y eficiencia. 

JSON tiene una sintaxis más simple y es más fácil de leer y escribir que XML. Además, JSON es más ligero, no solo para su transmisión sino también para el procesamiento de los datos. Por ello resulta más eficiente.

JSON vs CSV

CSV es otro formato comúnmente utilizado para el intercambio de datos, especialmente útil para exportar información. Aunque CSV es simple y ligero, no es tan fácil de leer y asimilar qué función realiza cada dato. Además CSV no resulta nada flexible, porque las columnas siempre tienen una serie limitada y definida de valores. En cambio JSON soporta estructuras de datos complejas y variables entre sí. 

Además, CSV puede tener problemas de interpretación entre distintos sistemas, porque no siempre se usa exactamente el mismo formato. Sin embargo JSON no tiene este problema.

Fernán García de Zúñiga

Productos relacionados: