Tres formatos para los mismos datos
JSON es lo que envían las API y lo que lee JavaScript. YAML es lo que la gente escribe a mano en los archivos de configuración de Docker Compose, Kubernetes, GitHub Actions o Ansible. XML sigue presente en feeds, facturas electrónicas, archivos de Office y servicios web antiguos. Los tres describen el mismo tipo de datos: objetos, listas, texto, números y verdadero o falso, así que se pueden convertir entre sí.
Algunos detalles no sobreviven a todos los viajes. Los comentarios de YAML y XML se pierden, porque JSON no tiene comentarios. XML no tiene listas ni números propios, así que los elementos repetidos pasan a ser arrays y los números solo se reconocen si activas esa opción. Cada dirección explica más abajo qué pasa en esos casos.
Un analizador de YAML de verdad, sin atajos
YAML tiene muchas reglas que los convertidores sencillos aplican mal: texto en bloque con | y >, texto con y sin comillas, anclas (&nombre) y alias (*nombre), claves de fusión (<<) y varios documentos en un mismo archivo, cada uno empezando con una línea de tres guiones. Esta herramienta usa un analizador de YAML completo que sigue la especificación YAML 1.2, y limita la expansión de alias para que un archivo malintencionado no pueda bloquear tu navegador.