¿Qué es JSON?

Definición

JSON significa JavaScript Object Notation (Notación de Objetos de JavaScript). Es un formato de texto ligero para el intercambio de datos, fácil de leer y escribir tanto para humanos como para máquinas.

Se utiliza principalmente para transmitir información entre un servidor y una aplicación web, aunque su uso se ha extendido a prácticamente todos los lenguajes de programación modernos.

Ejemplo simple de un objeto JSON:

{
  "nombre": "Juan",
  "edad": 30,
  "casado": false
}

Características principales

  • Basado en texto — Los datos están en formato de texto plano, lo que permite enviarlos por internet fácilmente.
  • Estructurado — Usa pares clave-valor ("clave": valor) y arreglos para organizar la información.
  • Ligero — Más simple y menos verboso que otros formatos como XML.
  • Universal — Aunque su nombre viene de JavaScript, hoy lo usan Python, Java, C#, PHP, Go, Ruby, Swift, entre muchos otros.
  • Interoperable — Es el formato estándar para la mayoría de las APIs REST y aplicaciones modernas.

Por qué se inventó

Antes de JSON, el formato más usado para intercambio de datos era XML. El problema de XML es que es muy verboso, con muchas etiquetas de apertura y cierre, lo que hacía que los archivos fueran más grandes y difíciles de leer.

Ejemplo de los mismos datos en XML:

<persona>
  <nombre>Juan</nombre>
  <edad>30</edad>
  <casado>false</casado>
</persona>

En JSON, la misma información es más corta y clara:

{
  "nombre": "Juan",
  "edad": 30,
  "casado": false
}

Usos principales de JSON

  • Comunicación cliente-servidor: enviar datos de un backend (servidor) a un frontend (web o app).
  • Almacenamiento: guardar configuraciones, preferencias o bases de datos pequeñas.
  • APIs REST: la mayoría de servicios modernos (Google, Twitter, GitHub, etc.) devuelven datos en JSON.
  • Bases de datos NoSQL: como MongoDB o CouchDB, que usan JSON como formato nativo de almacenamiento.

Analogía para entenderlo

Podés pensar en JSON como una libreta de direcciones digital.

  • Cada persona sería un objeto ({}).
  • Cada dato (nombre, edad, dirección) sería un par clave-valor ("clave": valor).
  • Y si tenés muchas personas, las guardás en una lista o arreglo ([]).

Ejemplo:

[
  {
    "nombre": "Ana",
    "edad": 25
  },
  {
    "nombre": "Luis",
    "edad": 40
  }
]

Resumen

  • JSON es un formato de texto, ligero, estructurado y universal.
  • Nació en JavaScript, pero hoy lo usan todos los lenguajes de programación.
  • Es el estándar de facto para el intercambio de datos en la web.
  • Ventaja: simple, legible y eficiente comparado con XML.