YAML y JSON: que formato de config usar y como convertir
2025-05-20
YAML 1.2 apunta a compatibilidad con JSON: un JSON valido deberia parsearse como YAML. Operaciones suele preferir YAML; aplicaciones suelen preferir JSON. Conviene conocer los riesgos de conversion.
Diferencias clave
JSON: sin comentarios, claves con comillas dobles, forma canonica unica. YAML: indentacion, comentarios con # y escalares mas flexibles.
{ "server": { "port": 8080 } }server:
port: 8080Cual usar para config?
Configuraciones operativas editadas a mano (K8s, Docker, CI) -> YAML. Manifiestos generados e intercambio entre apps -> JSON.
Trampas de conversion
yes/no como booleanos, versiones interpretadas como numeros, anchors inexistentes en JSON y tabs ilegales en YAML.
Conversion por CLI
yq, js-yaml, PyYAML: siempre ejecuta JSON.parse tras convertir para detectar cambios silenciosos de tipo.
Consejos practicos para Kubernetes
Mantener YAML en repo; convertir en CI cuando un consumidor solo acepte JSON. No escribas a mano manifiestos JSON enormes.
Resumen
Humanos -> YAML; maquinas -> JSON. Fija versiones de herramientas y valida tras cada transformacion.