¿Qué es JSON? Una guía completa para principiantes
JSON (JavaScript Object Notation) es 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 lo usan los desarrolladores en el día a día.
¿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.