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
\ncrea 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.