¿Qué es JSON? Una guía completa para principiantes
JSON (JavaScript Object Notation) es el idioma común de la web moderna: el formato que hablan casi todas las APIs, archivos de configuración y bases de datos NoSQL. Esta guía recorre la sintaxis, los seis tipos de datos y cómo se usa realmente JSON.
¿Qué es JSON?
JSON es un formato basado en texto para representar datos estructurados. Se derivó de la sintaxis de literales de objeto de JavaScript, pero es independiente del lenguaje: casi todos los lenguajes de programación pueden leer y producir JSON.
Fue introducido por Douglas Crockford a principios de los 2000 como una alternativa más simple a XML. Hoy es un estándar internacional (ECMA-404 / RFC 8259) y el formato de carga útil predeterminado para las APIs REST, GraphQL y la mayoría de los servicios web.
Conceptos básicos de la sintaxis de JSON
JSON tiene dos estructuras: objetos (mapas de clave/valor entre llaves) y arrays (listas ordenadas entre corchetes). Las claves deben ser cadenas entre comillas dobles; los valores pueden ser cualquiera de los seis tipos de datos.
{
"name": "Alice",
"age": 30,
"active": true,
"roles": ["admin", "editor"],
"address": {
"city": "San Francisco",
"zip": "94102"
},
"metadata": null
}Ten en cuenta las reglas: las claves usan comillas dobles (las comillas simples no son válidas), los elementos se separan con comas y no hay coma final después del último elemento.
Los seis tipos de datos
JSON admite exactamente seis tipos de datos. Entenderlos es la base para trabajar con cualquier JSON.
string: texto entre comillas dobles, p. ej. "hello". number: enteros o decimales, p. ej. 42 o 3.14. boolean: true o false (sin comillas). null: un valor vacío explícito. object: un mapa de pares clave/valor entre { }. array: una lista ordenada entre [ ].
Eso es todo. JSON no tiene fechas, ni funciones, ni undefined: estos deben codificarse como cadenas o bien omitirse. Este minimalismo es lo que hace que JSON sea tan universalmente interoperable.
Dónde se usa JSON
APIs: casi todos los endpoints REST y GraphQL intercambian JSON. Configuración: package.json, tsconfig.json e innumerables archivos de configuración de herramientas son JSON. Bases de datos: MongoDB, CouchDB y JSONB de PostgreSQL almacenan documentos como JSON. Intercambio de datos: el formato de transferencia entre servidor y navegador en las aplicaciones web modernas.
FAQ
- ¿Es JSON lo mismo que un objeto de JavaScript?
- No. Un literal de objeto de JavaScript puede contener funciones, comentarios, cadenas con comillas simples y comas finales. JSON es más estricto: claves con comillas dobles, sin funciones, sin comentarios. Todo documento JSON válido es una expresión válida de JavaScript, pero no a la inversa.
- ¿Puede JSON contener comentarios?
- El JSON estándar no puede. Algunas herramientas (como el JSONC de VS Code) permiten comentarios como extensión, pero un parser estricto como JSON.parse() los rechazará. Si necesitas comentarios, considera JSON5, YAML o JSONC.
- ¿Cuál es la diferencia entre JSON y XML?
- JSON es más ligero (sin etiquetas de cierre), se mapea directamente a estructuras de datos nativas y se analiza más rápido. XML es más verboso, pero admite atributos, espacios de nombres y esquemas de forma nativa. JSON ganó para las APIs; XML sobrevive en dominios centrados en documentos.
Artículos relacionados
La historia de JSON: del 2000 al estándar de la industria →
Recorre JSON desde la idea de Douglas Crockford en 2001, pasando por su adopción por Yahoo, hasta convertirse en el estándar ECMA-404 que impulsa el 90 % de las APIs modernas.
La guía completa de JSON Schema (Draft 7) →
JSON Schema es el estándar para describir y validar la estructura de JSON. Aprende las palabras clave principales, crea un esquema de API real y aplica buenas prácticas.
Ejemplos de JSON en 7 lenguajes: JavaScript, Python, Go, Rust, PHP, Java, C# →
Ejemplos listos para producción de análisis y serialización de JSON en siete lenguajes, con manejo de errores y buenas prácticas.