00

La respuesta corta

  • YAML es un lenguaje de serialización de datos basado en Unicode que representa configuraciones e intercambios de datos como texto legible, pero su carga requiere un procesador compatible con la versión y las etiquetas utilizadas.
  • En Windows o Mac, abre el archivo .yaml o .yml con un editor de texto. En un móvil, utiliza un editor que pueda acceder al archivo. Leer el texto no exige deserializarlo. Para cargarlo como datos de un programa, hace falta un procesador compatible con su versión de YAML y sus etiquetas. Si falla la carga, comprueba la sangría y la sintaxis. Un flujo YAML puede contener varios documentos; las aplicaciones que solo aceptan uno deben rechazar los adicionales.
  • El riesgo alto está relacionado con el análisis inseguro. El procesamiento de etiquetas puede provocar ejecución de código no deseada; los deserializadores deben desactivarla por defecto y usar carga segura. Las referencias cíclicas y la expansión de alias pueden causar bucles infinitos o crecimiento exponencial de datos. Es necesario validar la entrada y limitar la profundidad de recursión de las anclas. Poder leer o cargar el archivo no demuestra que sea seguro.
01

Archivos YAML: apertura, compatibilidad y análisis seguro

YAML significa «YAML Ain’t Markup Language». Sus estructuras básicas son mapas, secuencias y escalares. La sangría puede expresar jerarquía, los dos puntos separan claves y valores, y los guiones introducen elementos de lista. También admite etiquetas de tipo, anclas y alias. Su tipo de medio registrado es application/yaml; .yaml es la extensión preferida y .yml también está reconocida. No tiene un número mágico fijo registrado.

Guarda el original

No debe suponerse que convertir YAML a JSON conserva toda la información. Pueden perderse comentarios, directivas y la representación mediante alias. Las claves que no sean cadenas, las referencias cíclicas y los tipos ajenos a JSON requieren tratamiento adicional. Comprueba que el resultado conserva los datos que necesitas.

02

Cómo abrirlo

En Windows o Mac, abre el archivo .yaml o .yml con un editor de texto. En un móvil, utiliza un editor que pueda acceder al archivo. Leer el texto no exige deserializarlo. Para cargarlo como datos de un programa, hace falta un procesador compatible con su versión de YAML y sus etiquetas. Si falla la carga, comprueba la sangría y la sintaxis. Un flujo YAML puede contener varios documentos; las aplicaciones que solo aceptan uno deben rechazar los adicionales.

Solo quiero verlo

En Windows o Mac, abre el archivo .yaml o .yml con un editor de texto. En un móvil, utiliza un editor que pueda acceder al archivo. Leer el texto no exige deserializarlo. Para cargarlo como datos de un programa, hace falta un procesador compatible con su versión de YAML y sus etiquetas. Si falla la carga, comprueba la sangría y la sintaxis. Un flujo YAML puede contener varios documentos; las aplicaciones que solo aceptan uno deben rechazar los adicionales.

Tengo que enviarlo

No debe suponerse que convertir YAML a JSON conserva toda la información. Pueden perderse comentarios, directivas y la representación mediante alias. Las claves que no sean cadenas, las referencias cíclicas y los tipos ajenos a JSON requieren tratamiento adicional. Comprueba que el resultado conserva los datos que necesitas.

03

Seguridad

El riesgo alto está relacionado con el análisis inseguro. El procesamiento de etiquetas puede provocar ejecución de código no deseada; los deserializadores deben desactivarla por defecto y usar carga segura. Las referencias cíclicas y la expansión de alias pueden causar bucles infinitos o crecimiento exponencial de datos. Es necesario validar la entrada y limitar la profundidad de recursión de las anclas. Poder leer o cargar el archivo no demuestra que sea seguro.

Párate si ves alguna de estas señales

Un remitente desconocido, un nombre que acaba en dos extensiones o un contenido que no cuadra con la extensión: compruébalo antes de abrirlo.

04

Cómo convertirlo

No debe suponerse que convertir YAML a JSON conserva toda la información. Pueden perderse comentarios, directivas y la representación mediante alias. Las claves que no sean cadenas, las referencias cíclicas y los tipos ajenos a JSON requieren tratamiento adicional. Comprueba que el resultado conserva los datos que necesitas.

Antes de convertir

Convierte una copia, nunca el original, y después compara calidad, metadatos y maquetación con el archivo de partida.

05

Preguntas frecuentes

¿Qué es un archivo YAML y para qué sirve?

YAML es un lenguaje de serialización de datos legible para personas e independiente del lenguaje de programación. Se utiliza habitualmente en archivos de configuración e intercambio de datos y emplea mapas, secuencias y escalares.

¿Cómo abrir archivos YAML en Windows?

Abre el archivo .yaml o .yml con un editor de texto para leerlo. Para cargarlo como datos, el procesador YAML de la aplicación debe admitir su versión y sus etiquetas.

¿Cómo abrir archivos YAML en Mac?

Utiliza un editor de texto para abrir el archivo .yaml o .yml. La lectura permite inspeccionar su contenido; cargarlo como datos requiere además un procesador YAML compatible.

¿Cómo abrir archivos YAML en un móvil?

Utiliza un editor de texto que pueda acceder al archivo en el móvil. YAML es texto plano, por lo que el editor puede mostrar su contenido; cargarlo como datos requiere un procesador YAML compatible.

¿Cómo comprobar la sangría y la sintaxis de YAML si falla la carga?

Comprueba la sangría, los separadores entre claves y valores y los indicadores de lista con un procesador compatible. También pueden fallar la resolución, el reconocimiento o la construcción de etiquetas. Una aplicación de documento único debe rechazar documentos adicionales.

¿Qué diferencias hay entre las extensiones YAML y YML?

Ambas extensiones están reconocidas para YAML. RFC 9512 prefiere .yaml y también reconoce .yml. Elegir una extensión no soluciona incompatibilidades de versión o de etiquetas.

¿Qué pérdidas puede causar convertir YAML a JSON?

Pueden perderse comentarios, directivas y la representación mediante alias. Las claves que no sean cadenas, las referencias cíclicas y los tipos que JSON no admite necesitan tratamiento adicional; la conversión no es necesariamente sin pérdidas.

¿Cómo analizar archivos YAML no confiables de forma segura?

Usa carga segura con la ejecución de código desactivada por defecto. Valida la entrada y limita la profundidad de recursión de las anclas. El procesamiento de etiquetas, las referencias cíclicas y la expansión de alias implican riesgos; estas medidas no garantizan seguridad absoluta.

¿Qué diferencias de booleanos entre YAML 1.1 y 1.2 afectan a la compatibilidad?

La interpretación implícita de booleanos puede variar entre versiones. Para reducir problemas, utiliza true o false con las formas de mayúsculas y minúsculas permitidas por el esquema básico de YAML 1.2 y comprueba la versión del procesador receptor.

¿Cómo funcionan las anclas y los alias de YAML y qué límites requieren?

Un ancla identifica un nodo y un alias hace referencia a un nodo con ancla. Las referencias cíclicas o la expansión de alias pueden producir bucles infinitos o crecimiento exponencial, por lo que el procesador debe validar la entrada y limitar la profundidad de recursión de las anclas.

06

Formatos relacionados

Fuentes

YAML Ain’t Markup Language (YAML) Version 1.2, Revision 1.2.2 · YAML 官方规范 / YAML Language Development Team

RFC 9512: YAML Media Type · IETF / RFC Editor