Volver al blog
Desarrollo webInformacionBasico

JSON: el formato de datos que usas todos los días sin saberlo

Qué es JSON explicado sin tecnicismos: la forma ordenada que tienen las apps y las webs de pasarse información. Con ejemplos de la vida diaria, para qué sirve y por qué te lo vas a encontrar en todas partes.

JSON: el formato de datos que usas todos los días sin saberlo

Cuando abres la app del tiempo, pides algo en una tienda online o entras en una web con tu cuenta de Google, tu móvil y un servidor intercambian mensajes sin que tú te enteres. Para entenderse necesitan escribir la información de una forma que ambos lean igual. Una de las más usadas se llama JSON.

Qué es JSON, sin complicarlo

JSON es una forma de escribir información de manera ordenada, para que tanto una persona como un programa puedan leerla. Es solo texto. No es un programa ni hace nada por sí mismo: es como un formulario bien rellenado.

Piensa en una ficha de biblioteca. Arriba pone el título, debajo el autor, debajo el año. Cada dato tiene su etiqueta y su valor. JSON es exactamente eso: etiqueta y valor, etiqueta y valor.

Así se vería la ficha de una persona:

{
  "nombre": "Lucía",
  "edad": 34,
  "ciudad": "Madrid",
  "suscrita": true
}

Si lo lees despacio, se entiende solo: el nombre es Lucía, la edad es 34, la ciudad es Madrid, y "suscrita" es un sí (true). Las llaves { } marcan dónde empieza y dónde acaba la ficha. Y listo, ese es el 90 % del truco.

De dónde viene

Lo creó Douglas Crockford a principios de los años 2000. Según Wikipedia, mandó el primer mensaje en este formato en abril de 2001. Lleva "JavaScript" en el nombre (JSON significa JavaScript Object Notation) porque nació a partir de ese lenguaje, pero hoy lo entienden prácticamente todos los lenguajes de programación. La web json.org lo describe como un formato ligero, fácil de leer y de escribir para las personas y fácil de procesar para las máquinas.

Las dos ideas que lo sostienen

JSON se construye con solo dos ideas, y por eso se aprende rápido.

  1. La ficha (el "objeto"): un conjunto de etiquetas con su valor, entre llaves { }. Es la ficha de biblioteca de antes.
  2. La lista: varios elementos seguidos, entre corchetes [ ]. Como una lista de la compra.

Y los valores pueden ser de pocos tipos: un texto entre comillas ("Madrid"), un número (34), un sí o un no (true o false) o "nada" (null).

Lo útil es que puedes meter fichas dentro de listas, y listas dentro de fichas. Por ejemplo, un pedido de una tienda: tiene un cliente (una ficha) y varios productos (una lista de fichas pequeñas). Es como un archivador con carpetas, y dentro de cada carpeta, otras carpetas.

Veámoslo con un pedido de una tienda online, que junta las dos ideas:

{
  "pedido": 10482,
  "pagado": true,
  "cliente": {
    "nombre": "Lucía",
    "ciudad": "Madrid"
  },
  "productos": [
    {
      "nombre": "Teclado",
      "precio": 49.9
    },
    {
      "nombre": "Ratón",
      "precio": 19.99
    }
  ]
}

Cómo leerlo, de fuera hacia dentro:

  1. Las llaves de fuera { } encierran el pedido entero: es una ficha grande.
  2. Dentro hay tres datos sueltos: el número de pedido, si está pagado y, más abajo, el cliente.
  3. "cliente" tiene sus propias llaves { }: es una ficha pequeña dentro de la ficha grande, con el nombre y la ciudad.
  4. "productos" usa corchetes [ ]: es una lista. Dentro hay dos elementos, y cada uno lleva sus propias llaves { } porque cada producto es una ficha con su nombre y su precio.

La regla para recordarlo: llaves { } = una ficha con etiquetas. Corchetes [ ] = una lista de cosas, una detrás de otra. Y se pueden combinar tantas veces como haga falta. Fíjate también en que entre elementos hay una coma, pero después del último no.

Para qué se usa

Móvil junto a un portátil, dos aparatos que intercambian información
Móvil junto a un portátil, dos aparatos que intercambian información
  • Que las apps hablen con los servidores. Cuando tu app del banco te muestra tus movimientos, lo normal es que el servidor se los haya enviado en JSON. A este tipo de "conversación" entre programas se le llama API, y JSON es su idioma más habitual.
  • Guardar ajustes. Muchos programas apuntan sus configuraciones en ficheros de este tipo, porque se leen fácil.
  • Automatizar tareas. En herramientas como Power Automate, cuando un paso recibe datos de otro servicio, muchas veces llegan en JSON. Existe una acción llamada Analizar JSON (Parse JSON) que sirve para que tu flujo entienda esa información y puedas usar cada dato por separado, por ejemplo, solo el nombre o solo el importe.
  • Bases de datos. Algunas bases de datos guardan información con este mismo estilo de fichas.

Por qué gustó tanto

Antes de JSON existían otras formas de pasar datos entre programas, como XML, que también sirve pero es más largo y pesado de leer. JSON ganó porque es más corto y más fácil de leer a simple vista. XML se sigue usando, sobre todo en empresas con sistemas más antiguos, pero para las webs y apps de hoy JSON es lo habitual.

Lo que conviene saber

JSON es muy estricto, y por eso funciona tan bien. Si te falta una coma o unas comillas, el programa que lo recibe no lo entiende y da error. Los fallos más comunes:

  • Faltan comillas o se usan comillas simples (') en lugar de dobles (").
  • Se pone una coma de más después del último elemento.
  • Se intenta añadir un comentario dentro (JSON no permite comentarios).

Si alguna vez te toca escribir uno a mano, existen validadores online que lo revisan y te marcan la línea exacta donde está el problema. Casi siempre es una coma o unas comillas.

En resumen

JSON es la forma ordenada que tienen las aplicaciones de pasarse información: etiqueta y valor, fichas y listas. No necesitas programar para entenderlo, y en cuanto lo reconoces empiezas a verlo en todas partes: en las apps del móvil, en las webs y en los flujos de automatización. Saber leerlo es una pequeña ventaja que te ayuda a entender qué ocurre por debajo de casi todo lo que usas en internet.

Volver al blog