≡En resumen
- JSON representa datos con objetos (pares nombre-valor entre llaves) y arrays (listas entre corchetes).
- Admite seis tipos de valor: cadena, número, booleano, null, objeto y array; no admite comentarios.
- Aunque nació de JavaScript, es independiente del lenguaje: todos los lenguajes modernos lo leen y lo escriben.
- Es el formato por defecto de las API REST y de muchos archivos de configuración.
- Google recomienda JSON-LD para los datos estructurados que activan los resultados enriquecidos.
01 ¿Qué es JSON?
Lo especificó Douglas Crockford a principios de los años 2000, a partir de la sintaxis de los objetos de JavaScript, y lo difundió desde la web json.org. Su éxito llegó con las aplicaciones web dinámicas: era mucho más sencillo de leer desde el navegador que XML. Hoy cualquier lenguaje, de Python a PHP o Java, tiene funciones nativas para leerlo y generarlo.
En cuanto a la pronunciación, la norma ISO/IEC 21778:2017 la asimila al nombre inglés Jason («yéison»), aunque el propio Crockford ha dicho que le da igual cómo se pronuncie. En España también se oye «jotasón».
02 Sintaxis de JSON: tipos de datos y reglas
| Tipo | Cómo se escribe | Ejemplo |
|---|---|---|
| Objeto | Pares "nombre": valor entre llaves, separados por comas | { "ciudad": "Valencia", "cp": "46001" } |
| Array | Lista ordenada de valores entre corchetes | ["rojo", "verde", "azul"] |
| Cadena | Texto entre comillas dobles | "Hola" |
| Número | Entero o decimal, con punto y sin comillas | 89.95 |
| Booleano | true o false, en minúsculas | true |
| Nulo | La palabra null | null |
- ✓Los nombres y las cadenas van siempre entre comillas dobles; las simples no son válidas.
- ✓No se permiten comentarios: Crockford los eliminó para evitar que se usaran como instrucciones.
- ✓No puede haber coma después del último elemento de un objeto o array.
- ✓Los nombres dentro de un objeto deberían ser únicos; si se repiten, cada programa reacciona de forma distinta.
- ✓Entre sistemas abiertos, el texto JSON debe ir codificado en UTF-8.
- ✓Las fechas no tienen tipo propio: se guardan como cadenas, normalmente en formato ISO 8601.
03 Estándares de JSON: RFC 8259, ECMA-404 e ISO/IEC 21778
JSON no es propiedad de ninguna empresa. Está definido por dos especificaciones equivalentes, que el propio RFC 8259 declara coherentes entre sí, y por una norma ISO.
| Especificación | Organismo | Fecha | Estado |
|---|---|---|---|
| RFC 4627 | IETF | 2006 | Informativa, sustituida |
| ECMA-404, 1.ª edición | Ecma International | Octubre de 2013 | Sustituida |
| RFC 7159 | IETF | 2014 | Sustituida por RFC 8259 |
| RFC 8259 (STD 90) | IETF | Diciembre de 2017 | Vigente, estándar de Internet |
| ECMA-404, 2.ª edición | Ecma International | Diciembre de 2017 | Vigente |
| ISO/IEC 21778:2017 | ISO / IEC | 2017 | Vigente |
04 JSON vs XML (y otros formatos)
JSON sustituyó a XML como formato por defecto de las API web porque ocupa menos, se lee mejor y encaja con las estructuras de datos de los lenguajes de programación. XML sigue vivo donde importan los documentos con metadatos, los esquemas estrictos o los estándares heredados, como los sitemaps, los feeds RSS o la facturación electrónica.
| Criterio | JSON | XML | YAML | CSV |
|---|---|---|---|---|
| Estructura | Objetos y arrays anidados | Árbol de elementos y atributos | Igual que JSON, con sangrías | Tabla plana |
| Comentarios | No | Sí | Sí | No |
| Tamaño | Compacto | Más verboso (etiquetas de cierre) | Compacto | El más compacto |
| Uso típico | API, configuración, datos estructurados | Sitemaps, RSS, documentos, SOAP | Configuración de servidores y despliegues | Hojas de cálculo e importaciones |
05 ¿Para qué sirve JSON? Usos habituales
API web
La mayoría de las API REST reciben y devuelven JSON: pagos, envíos, CRM, redes sociales o modelos de IA.
Archivos de configuración
package.json en Node.js, composer.json en PHP o los ajustes de editores como VS Code.
Bases de datos
MySQL y PostgreSQL tienen tipos de columna JSON, y las bases documentales guardan registros con esta forma.
Datos estructurados para SEO
El formato JSON-LD describe a buscadores qué hay en una página: producto, receta, empresa o preguntas frecuentes.
Registros y analítica
Los logs y los eventos de analítica se guardan en JSON para filtrarlos y procesarlos fácilmente.
Cuando una web se conecta con otra aplicación, casi siempre hay una API REST intercambiando JSON por debajo. Es lo que hacemos a diario en el desarrollo de aplicaciones web: integrar tiendas, ERP, CRM y pasarelas de pago mediante mensajes JSON.
06 JSON-LD: datos estructurados para SEO
Google admite tres formatos de datos estructurados (JSON-LD, microdatos y RDFa) y recomienda JSON-LD porque es el más fácil de implementar y mantener. Con él se consigue el enriquecimiento de resultados: estrellas, precios, migas de pan o eventos en la página de resultados. El marcado de tipo Organization, además, ayuda a que Google asocie tu web con tu marca, algo que explicamos en la guía para conseguir un Knowledge Panel en Google.
{ "@context": "https://schema.org", "@type": "Organization", "name": "Mi Empresa", "url": "https://www.miempresa.es", "logo": "https://www.miempresa.es/logo.png", "sameAs": ["https://www.linkedin.com/company/miempresa"] }
Este bloque va dentro de una etiqueta script de tipo application/ld+json en el código de la página. Para las preguntas frecuentes se usa el tipo FAQPage, que detallamos en la ficha de FAQ schema.
55,7 %
de todas las webs usa JSON-LD
Fuente: W3Techs, septiembre de 2026
3
formatos de datos estructurados admite Google; recomienda JSON-LD
Fuente: Google Search Central
07 Cómo abrir, crear y validar un archivo JSON
-
1
Ábrelo con un editor de texto
Un .json es texto plano: sirve el Bloc de notas, TextEdit o, mejor, un editor de código como VS Code, que lo colorea y avisa de errores.
-
2
Visualízalo en el navegador
Chrome, Firefox y Edge muestran los archivos JSON y las respuestas de una API de forma legible; Firefox incluye un visor con árbol plegable.
-
3
Valídalo
Usa un validador o el comando python -m json.tool archivo.json: si hay un error, te indica la línea.
-
4
Léelo desde código
En JavaScript, JSON.parse() convierte el texto en objeto y JSON.stringify() hace lo contrario; en PHP, json_decode() y json_encode().
-
5
Comprueba el JSON-LD
Para datos estructurados, pasa la URL por la Prueba de resultados enriquecidos de Google y revisa los informes de Search Console.
Preguntas frecuentes sobre JSON
Son las siglas de JavaScript Object Notation, «notación de objetos de JavaScript». Es un formato de texto para intercambiar datos entre aplicaciones.
Para guardar o transmitir datos estructurados: respuestas de API, configuraciones de programas, exportaciones de datos o marcado de datos estructurados para buscadores.
Con cualquier editor de texto, porque es texto plano. Un editor de código o el propio navegador lo muestran con formato y resaltado.
No. Es un formato de datos: no tiene variables, funciones ni lógica, solo describe información con objetos, arrays y valores.
JSON es más compacto y se basa en objetos y arrays; XML usa etiquetas, admite atributos y comentarios y es más verboso. JSON domina en las API web.
JSON-LD es JSON con claves especiales como @context y @type que enlazan los datos con vocabularios como Schema.org. Todo JSON-LD es JSON válido.
No. El estándar no los permite; si los necesitas en configuraciones, se usan variantes como JSON5 o formatos como YAML.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗