Skip to main content
Volver a Guías

Qué es JSON: Guía Completa de Sintaxis, Reglas y Usos

Aprende qué es JSON, su sintaxis con objetos, arrays y tipos de datos, reglas de validación, errores comunes y herramientas para trabajar con este formato.

¿Qué es JSON y por qué es tan popular?

JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en texto, legible tanto para humanos como para máquinas. Fue especificado originalmente por Douglas Crockford a principios de los años 2000 y estandarizado formalmente como ECMA-404 y RFC 8259.

A pesar de derivar su nombre de JavaScript, JSON es independiente de cualquier lenguaje de programación. Prácticamente todos los lenguajes modernos — Python, Java, Go, C#, Ruby, PHP, Swift, Kotlin — incluyen soporte nativo o bibliotecas para leer y escribir JSON. Esta universalidad lo convirtió en el formato estándar de facto para APIs REST, archivos de configuración, almacenamiento en bases de datos NoSQL como MongoDB y CouchDB, y comunicación entre microservicios.

Sintaxis fundamental: objetos, arrays y tipos de datos

La estructura de JSON se construye con dos elementos principales: objetos y arrays. Un objeto es una colección no ordenada de pares clave-valor delimitada por llaves {}. Cada clave debe ser una cadena entre comillas dobles, seguida de dos puntos y un valor. Los pares se separan con comas.

Un array es una lista ordenada de valores delimitada por corchetes []. Los valores dentro del array se separan con comas y pueden ser de cualquier tipo JSON válido, incluyendo otros arrays u objetos anidados.

  • String: texto entre comillas dobles. Soporta secuencias de escape como \n, \t y \uXXXX para caracteres Unicode
  • Number: números enteros o decimales sin comillas. Soporta notación científica (3.14e10) pero no NaN ni Infinity
  • Boolean: los literales true y false en minúsculas, sin comillas
  • Null: el literal null en minúsculas, representa la ausencia de valor
  • Object: estructura recursiva de pares clave-valor delimitada por {}
  • Array: lista ordenada de valores delimitada por []

Reglas de validación y restricciones del estándar

JSON impone restricciones estrictas que lo diferencian de la sintaxis JavaScript. Las claves deben estar entre comillas dobles obligatoriamente; las comillas simples no son válidas. No se permiten comas finales (trailing commas) después del último elemento de un objeto o array. Los comentarios no están permitidos en ninguna forma — ni //, ni /* */, ni #.

Los valores numéricos no pueden tener ceros iniciales (01 es inválido, pero 0.1 es correcto). Las cadenas deben usar comillas dobles exclusivamente. Los literales booleanos y null son case-sensitive: True, FALSE o Null no son válidos. Estas restricciones garantizan que cualquier parser JSON en cualquier lenguaje produzca el mismo resultado al procesar un documento dado.

El estándar RFC 8259 recomienda UTF-8 como codificación por defecto. Los caracteres especiales dentro de cadenas deben escaparse con barra invertida: comillas dobles \", barra invertida \\, y caracteres de control como salto de línea \n y tabulación \t.

Errores comunes al escribir JSON

El error más frecuente es la coma final después del último elemento. En JavaScript es válido escribir {"a": 1, "b": 2,} pero en JSON estricto la coma después de 2 produce un error de parseo. Otro error habitual es usar comillas simples: {'nombre': 'valor'} no es JSON válido.

Copiar datos desde consolas de navegador o archivos JavaScript introduce errores porque estos permiten sintaxis relajada que JSON prohíbe: propiedades sin comillas, funciones como valores, y literales undefined que no existen en JSON.

  • Trailing commas: {"a": 1,} — eliminar la coma final
  • Comillas simples: {'key': 'value'} — reemplazar por comillas dobles
  • Propiedades sin comillas: {name: "Juan"} — añadir comillas a la clave
  • Valores undefined: reemplazar por null
  • Comentarios: eliminar cualquier línea con // o /* */
  • Ceros iniciales en números: 007 → 7

Herramientas para trabajar con JSON

Para validar y formatear JSON existen herramientas en línea como nuestro JSON Formatter, que permite pegar un documento y obtener validación instantánea con reporte de errores indicando línea y columna exacta del problema. La función de reparación automática corrige los errores más comunes sin intervención manual.

En línea de comandos, jq es la herramienta estándar para filtrar, transformar y formatear JSON desde la terminal. Python incluye el módulo json con python -m json.tool para formatear rápidamente. Node.js ofrece JSON.parse() y JSON.stringify() como funciones nativas del lenguaje.

Para convertir entre formatos, es posible transformar JSON a YAML (más legible para configuraciones) o a TOML (popular en herramientas como Cargo y Hugo). La conversión preserva la estructura semántica del documento adaptando únicamente la representación sintáctica al formato destino.

Herramienta relacionadaJSON Formatter

Fuentes

  • ECMA-404 The JSON Data Interchange Standard
  • RFC 8259 (IETF)
  • json.org