Lección 12
Indentación y saltos de línea
Cuándo el pretty-print ayuda a humanos, cuándo importan los bytes minificados y convenciones de equipo.
JSON no exige espacio en blanco entre tokens. La indentación y los saltos de línea son decisiones editoriales — no cambian los valores parseados, pero sí cómo humanos y herramientas de diff perciben el documento.
Dos representaciones, mismos datos
Compacto:
{"user":{"name":"Ada","roles":["admin","editor"]}}
Indentado (2 espacios):
{
"user": {
"name": "Ada",
"roles": ["admin", "editor"]
}
}
Los parsers los tratan como equivalentes; los revisores prefieren el segundo en pull requests.
Convenciones de equipo
Estándares habituales:
- 2 espacios — predeterminado en muchos proyectos JavaScript y web
- 4 espacios — algunas guías de estilo enterprise
- Tab — poco frecuente en JSON porque muchos linters esperan espacios
Elige un ancho por repositorio y aplícalo en CI con una comprobación de formateador.
Cuándo mantener compacto
- Cuerpos HTTP de producción donde se mide el ancho de banda
- Configs embebidas con límites estrictos de tamaño
- Rutas máquina a máquina sin lector humano
Almacena compacto en la red; pretty-print en logs o builds de depuración si hace falta.
Diseño amigable con diff
Orden estable de claves más indentación consistente hace visibles regresiones en code review. Orden aleatorio de claves o espaciado mixto crea diffs ruidosos que ocultan cambios reales de lógica.
Trata el layout como comunicación para humanos, no como parte del modelo de datos JSON.