Mcatorce Suite
← Volver al blog

Errores Comunes en YAML y Cómo Corregirlos

Los errores que más a menudo rompen los archivos YAML, incluidos tabuladores, sangría incorrecta, valores especiales sin comillas y claves duplicadas, con ejemplos de la solución.

Prueba la herramienta: Conversor YAML, JSON y TOML

YAML es agradable de leer, pero un pequeño descuido puede cambiar su significado o romperlo por completo. Convertir un archivo a JSON es una forma rápida de comprobar que significa lo que crees.

1. Tabuladores para la sangría

YAML prohíbe los caracteres de tabulación para la sangría. Un tabulador provoca un error de análisis. Configura tu editor para que inserte espacios, normalmente dos por nivel.

2. Sangría inconsistente

Los elementos del mismo nivel deben alinearse exactamente. Si una clave está sangrada un espacio de más, pasa a ser hija de la clave anterior o produce un error.

3. Falta de espacio tras los dos puntos

clave:valor es una cadena simple, no un par. Escribe clave: valor.

4. Valores especiales sin comillas

Algunos valores sin comillas cambian de tipo o rompen el analizador:

  • yes, no, on, off pueden convertirse en booleanos en versiones antiguas de la especificación.
  • null y ~ se convierten en nulo.
  • 1.0 es un número, no una cadena de versión. Ponlo entre comillas como "1.0".
  • Un valor que empieza por @, *, &, % o que contiene : necesita comillas.
  • Un cero inicial como 0755 puede leerse como octal.

5. Claves duplicadas

Dos claves idénticas en un mismo mapa son un error en los analizadores estrictos, y en los permisivos gana el último valor sin avisar. Elimina los duplicados.

6. Listas y mapas confundidos

Un elemento de lista empieza con - . Un mapa dentro de un elemento de lista continúa con la misma sangría que la primera clave tras el guion:

servers:
  - name: a
    port: 80
  - name: b
    port: 81

7. Cadenas de varias líneas

Usa | para conservar los saltos de línea y > para plegar las líneas en una. Sangra el bloque bajo la clave.

Comprobar tu trabajo

Convierte el YAML a JSON. Si la estructura del JSON no es la que querías, la sangría está mal en algún sitio. Los errores indican un número de línea, que señala el problema o la línea justo encima.

Preguntas frecuentes

¿Por qué mi número pierde el cero final? Se leyó como número. Ponlo entre comillas para conservar una cadena.

¿Puede YAML llevar comentarios después de un valor? Sí, con un espacio antes de la almohadilla.