Curious TechieDev Toolbox
Todas las Guías/Formatos de Datos8 min read

¿Qué es JSON? Guía Técnica sobre el Estándar RFC 8259

Tipos de datos, reglas sintácticas, validación de árboles AST, serialización y errores comunes de parseo.

Puntos Clave
  • JSON es un formato ligero de intercambio de datos estandarizado por RFC 8259 y ECMA-404.
  • Admite 6 tipos de datos: String, Number, Boolean, Null, Objeto y Array.
  • Las claves de los objetos deben delimitarse obligatoriamente con comillas dobles ("clave").
  • Las comas finales (trailing commas) están estrictamente prohibidas por la especificación oficial.
  • Los números en JSON no diferencian internamente entre enteros y valores de punto flotante.

Toda aplicación web moderna, servicio de infraestructura en la nube y backend móvil depende de una lengua franca digital para intercambiar datos estructurados entre distintos entornos. Ese formato universal es JSON (JavaScript Object Notation).

1. Introducción e Historia

JSON fue popularizado a principios de los años 2000 por Douglas Crockford como una alternativa ligera y limpia a la complejidad excesiva de XML. Aunque se diseñó inspirándose en la sintaxis literal de objetos de JavaScript, JSON es totalmente independiente del lenguaje y está regulado por los estándares internacionales RFC 8259 y ECMA-404.

2. Los 6 Tipos de Datos Fundamentales

JSON define exactamente seis tipos de datos. Cualquier estructura que contenga tipos fuera de esta lista es un JSON inválido:

Objeto (Object):{ "userId": 101, "role": "admin" }
Matriz (Array):[ "production", "staging", "dev" ]
Cadena (String):"Texto Unicode entre comillas dobles"
Número (Number):42, 3.14159, -17, 1.2e5
Booleano (Boolean):true, false
Nulo (Null):null

3. Reglas Estrictas de Sintaxis y Gramática

A diferencia de los motores permisivos de JavaScript, los analizadores de JSON aplican una gramática rigurosa:

  • Comillas Dobles Obligatorias: Las claves de objetos y cadenas literales deben usar comillas dobles ("clave"). Las comillas simples ('clave') provocan un error de sintaxis inmediato.
  • Sin Comas Finales: Las comas son estrictamente separadores de elementos. Una coma después del último elemento de una lista u objeto interrumpe el procesamiento.
  • Sin Comentarios: El estándar JSON no admite comentarios de tipo // o /* */.

4. Análisis por Árbol de Sintaxis Abstracta (AST)

Cuando un navegador ejecuta JSON.parse(), un escáner léxico determinista convierte los tokens de caracteres sin procesar en un Árbol de Sintaxis Abstracta (AST) en memoria. El analizador verifica llaves coincidentes y valida pares suplentes UTF-8 antes de instanciar objetos nativos.

5. JSON frente a XML y YAML

Mientras que XML destaca en entornos documentales con esquemas formales (XSD) y YAML se prefiere para configuraciones de DevOps, JSON sigue siendo el estándar supremo para API HTTP de alto rendimiento debido a su mínima sobrecarga de serialización y compatibilidad nativa en navegadores.

6. Seguridad y Buenas Prácticas

Nunca utilice eval() para analizar entradas JSON que no sean de confianza. Utilice siempre el método nativo JSON.parse(), que realiza una deserialización segura sin riesgo de ejecución arbitraria de scripts.