Qué es JSON
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos. La comunicación entre frontend y backend, los archivos de configuración y las respuestas de API usan JSON. Con una estructura clara, legible por humanos y parseable por máquinas, es el estándar de facto del desarrollo moderno.
Reglas de sintaxis JSON
Tipos de datos
- Cadena: entre comillas dobles, p. ej. "hello"
- Número: entero o decimal, p. ej. 42, 3.14
- Booleano: true o false
- Nulo: null
- Array: entre corchetes, p. ej. [1, 2, 3]
- Objeto: entre llaves, pares clave-valor, p. ej. {"name": "Tom"}
- Anidamiento: objetos y arrays pueden anidarse entre sí
Reglas básicas
- Las claves deben usar comillas dobles (no simples)
- Las cadenas deben usar comillas dobles
- No puede haber comas finales (sin coma tras el último elemento)
- No puede haber comentarios
- El nivel superior solo puede ser objeto o array
Las tres necesidades del formato
Validación
Comprueba si la sintaxis JSON es correcta. Falta una coma, sobra una coma o comillas sin emparejar provocan fallos de análisis.
Embellecimiento (Pretty Print)
Expande un JSON comprimido en una sola línea a un formato multilínea con sangría, facilitando la lectura humana.
Forma comprimida:
{"name":"Tom","age":20,"tags":["a","b"]}
Embellecido:
{
"name": "Tom",
"age": 20,
"tags": ["a", "b"]
}
Minificación (Minify)
Elimina todos los espacios y saltos de línea del formato embellecido, comprimiéndolo en una sola línea para reducir el tamaño. Se usa para transmisión y almacenamiento.
Errores comunes de JSON
Error de comillas
- Usar comillas simples: JSON solo permite comillas dobles
- Olvidar cerrar las comillas
- Nombre de clave sin comillas
Error: {'name': 'Tom'} (comillas simples) Correcto: {"name": "Tom"}
Error de comas
- Coma final: coma después del último elemento
- Falta de coma: olvidar la coma entre elementos
Error: {"a": 1, "b": 2,} (coma final) Correcto: {"a": 1, "b": 2}
Error de tipo de datos
- Usar undefined (JSON no tiene undefined, usar null)
- Usar NaN / Infinity (JSON no los soporta)
- Funciones y objetos Date no se pueden serializar directamente
Error de escape
Los caracteres especiales dentro de cadenas deben escaparse:
- Comilla: "
- Barra invertida: \
- Salto de línea: \n
- Tabulador: \t
- Retorno de carro: \r
Error: "He said "hello"" (comillas sin escapar) Correcto: "He said "hello""
Error de codificación
JSON debe usar codificación UTF-8. Otras codificaciones pueden causar caracteres chinos corruptos o fallos de análisis.
Anidamiento y niveles
Ejemplo de anidamiento
{
"user": {
"name": "Tom",
"address": {
"city": "Pekín",
"zip": "100000"
}
},
"orders": [
{"id": 1, "items": ["A", "B"]},
{"id": 2, "items": ["C"]}
]
}
Sangría
- Sangría de 2 espacios: la más usada
- Sangría de 4 espacios: más holgada
- Sangría con Tab: algunos equipos la usan
Unifica el estilo de sangría al embellecer.
Anidamiento profundo
Más de 5 niveles de anidamiento dificultan la lectura. Considera aplanar la estructura o dividirla.
JSON frente a otros formatos
JSON vs JSONL
- JSON: todo el archivo es un único JSON (normalmente un objeto o array)
- JSONL (JSON Lines): cada línea es un JSON independiente, ideal para logs y datos en streaming
JSON vs JSON5
JSON5 es un superconjunto de JSON que soporta:
- Comillas simples
- Comas finales
- Comentarios
- Números hexadecimales
Pero JSON5 no es JSON estándar y la compatibilidad de los parsers es limitada.
JSON vs YAML
- JSON: sintaxis estricta, amigable para máquinas
- YAML: sintaxis flexible (soporta comentarios, la sangría indica jerarquía), amigable para humanos
- Los archivos de configuración suelen usar YAML; la transmisión de API usa JSON
JSON vs XML
- JSON: ligero, sin sobrecarga de etiquetas
- XML: etiquetas redundantes, pero soporta atributos y namespaces
- En el desarrollo moderno, JSON ha reemplazado básicamente a XML
Consejos prácticos
Copiar JSON
Copia JSON de respuestas de API o logs, pégalo en una herramienta de formato para embellecerlo y facilita la lectura.
Depurar JSON
Si la interfaz devuelve un error, formatea el JSON de respuesta y comprueba si los campos son correctos.
Archivos de configuración
Escribe los archivos de configuración en JSON y, tras formatearlos, comenta el significado de cada campo (ten en cuenta que el JSON estándar no soporta comentarios; usa JSONC o documentación aparte).
Conversión de datos
En escenarios como CSV a JSON o XML a JSON, formatea el resultado tras la conversión para validarlo.
Usa la herramienta CSV a JSON para convertir datos tabulares a JSON con un clic.
Uso de la herramienta de formato
Validación
Pega JSON y la herramienta comprueba la sintaxis. Si hay errores, indica la posición y la causa.
Embellecimiento
Pega JSON comprimido, elige la sangría, haz clic en embellecer y obtén el formato multilínea.
Minificación
Pega JSON embellecido, haz clic en minificar y obtén una sola línea.
Escape
Escapa los caracteres especiales en una cadena JSON o realiza la operación inversa.
Procesar JSON con DocsAll
JSON implica codificación y conversión; puedes usar las herramientas relacionadas:
- Herramienta de codificación/decodificación: maneja el escape de cadenas JSON
- Herramienta CSV a JSON: convierte tablas a JSON
Se procesa en el navegador; los datos no se suben.
Preguntas frecuentes
Tras embellecer, el chino se convierte en \uXXXX
Algunas herramientas escapan el chino por defecto. Para mostrar el chino original, desactiva la opción de escape Unicode.
JSON grande causa lentitud
Formatear JSON muy grande (varios MB) puede ralentizar. Usa herramientas de línea de comandos (como jq) para mayor eficiencia.
¿Qué hago con los comentarios?
El JSON estándar no soporta comentarios. Si necesitas comentarios, usa JSONC, JSON5 o YAML.
Resumen
El formato JSON tiene tres tareas centrales: validar la sintaxis, embellecer para legibilidad y minificar para transmisión. Los errores comunes son de comillas, comas y escape. Procesa JSON con la herramienta de codificación/decodificación de DocsAll y la herramienta CSV a JSON; se ejecutan en el navegador y los datos no se transmiten al exterior.