¿Qué es YAML?
YAML es un formato de configuración que usa sangría en lugar de llaves. Lo usan Docker Compose, Kubernetes, GitHub Actions y el application.yml de Spring Boot. YAML 1.2 es un superconjunto de JSON, así que ambos se convierten sin pérdidas en los dos sentidos; la diferencia está sobre todo en la legibilidad.
Cómo usarlo
- Elige el sentido: JSON → YAML o YAML → JSON.
- Pega el contenido. Con la conversión automática activada, el resultado aparece mientras escribes, y los errores de sintaxis indican la línea y la columna exactas.
- Elige sangría de 2 o 4 espacios y copia o descarga el resultado. «Usar el resultado como entrada» lo convierte de vuelta en el otro sentido.
Ejemplo
Este JSON:
{"name":"web","replicas":3,"ports":[80,443],"env":{"DEBUG":"yes","VERSION":"1.10"}}
se convierte en:
name: web replicas: 3 ports: - 80 - 443 env: DEBUG: "yes" VERSION: "1.10"
Fíjate en las comillas de "yes" y "1.10". Sin ellas, muchas herramientas YAML leerían yes como el booleano true y 1.10 como el número 1.1, cambiando tu configuración sin avisar.
Preguntas frecuentes
¿Por qué algunos valores van entre comillas?
Siempre se ponen comillas a los textos que YAML podría malinterpretar: palabras como yes, no, on y null, cualquier cosa que parezca un número o una fecha, y textos que contienen : o #. Un ejemplo famoso es el código de país NO (Noruega), que los analizadores YAML antiguos convierten en false.
¿Se conservan exactos los números grandes?
Sí, en los dos sentidos. Un valor como 9007199254740993 o 1280.50 se escribe tal cual aparece en el original. Muchos conversores en línea pasan los números por JavaScript y redondean los IDs grandes a 9007199254740992.
¿Qué pasa con los comentarios, las anclas y los documentos múltiples?
JSON no tiene comentarios, así que los comentarios de YAML se eliminan. Las anclas y los alias (&base, *base) y las claves de fusión (<<: *base) se expanden a sus valores. Un archivo con varios documentos separados por --- se convierte en un array JSON.
¿Cómo se tratan las fechas?
Las fechas como 2024-01-01 se mantienen como el mismo texto en JSON. No se convierten a otro formato ni a otra zona horaria.