Guía

Comillas en YAML: simples, dobles o texto sin comillas

Aprende cuándo usar comillas simples, dobles o escalares simples en YAML y cómo cambian escapes, comentarios y tipos.

por Tools in a Tab · Publicado el · Revisado el

Respuesta breve

En YAML, el texto sin comillas es cómodo, las comillas simples conservan casi todo literalmente y las dobles interpretan escapes como \n, \t o \u263A. Usa comillas cuando un valor pueda confundirse con sintaxis o con otro tipo; elige dobles solo cuando necesites secuencias de escape.

Tres estilos, tres comportamientos

sin_comillas: servicio-api
simples: 'C:\temp\notas.txt'
dobles: "primera línea\nsegunda línea"

El primer valor es un escalar simple. En el segundo, la barra invertida no inicia un escape. En el tercero, \n se convierte en un salto de línea dentro del valor.

Puedes pegar el ejemplo en el conversor YAML a JSON para observar el resultado exacto. La conversión permite comprobar el tipo y el contenido, no solo que el archivo se pueda analizar.

Cuándo citar un valor

Conviene usar comillas si el texto:

  • empieza por un indicador como -, ?, &, *, ! o #;
  • contiene : y podría parecer una pareja clave/valor;
  • contiene # y el resto podría interpretarse como comentario;
  • coincide con un booleano, número o valor nulo del esquema activo;
  • debe conservar espacios al principio o al final;
  • necesita ser inequívocamente una cadena al pasar a otro formato.

Por ejemplo, codigo: 00123 puede resolverse como número según el esquema y el procesador. codigo: '00123' expresa de manera explícita que los ceros pertenecen al texto.

Comillas simples

Dentro de comillas simples, una comilla simple se duplica:

mensaje: "Hoy es el día de Ada: 'listo'."
ruta: 'C:\temp\notas.txt'

La barra invertida y la comilla doble se conservan sin tratamiento especial. Este estilo es útil para rutas, expresiones regulares y texto con muchas barras. No permite representar caracteres de control mediante escapes de barra.

Comillas dobles

Las comillas dobles interpretan las secuencias de escape definidas por YAML:

mensaje: "uno\ndos"
tabulado: "clave\tvalor"
unicode: "sonrisa: \u263A"

Si quieres una barra literal debes escribir \\. Copiar una ruta desde un escalar simple a uno doble sin revisar las barras puede cambiar el contenido o producir un escape inválido.

Errores frecuentes

  • Creer que \n crea una línea nueva dentro de comillas simples.
  • Poner # tras un espacio en texto sin comillas y perder el final como comentario.
  • Citar solo algunos valores ambiguos sin mantener una política coherente.
  • Confundir el estilo visual de la cadena con su valor después del análisis.
  • Añadir comillas para reparar un problema que en realidad era de indentación.

La especificación YAML 1.2.2 distingue escalares simples, entre comillas simples y entre comillas dobles; los escapes de barra solo se interpretan en el último estilo. Elige la forma que haga explícito el valor que debe recibir la aplicación.