YAML - Flujos de personajes

En YAML, te encuentras con varios flujos de personajes de la siguiente manera:

  • Directives
  • Marcadores de límites de documentos
  • Documents
  • Transmisión completa

En este capítulo, los discutiremos en detalle.

Directivas

Las directivas son instrucciones básicas que se utilizan en el procesador YAML. Las directivas son los detalles de la presentación, como los comentarios, que no se reflejan en el árbol de serialización. En YAML, no hay forma de definir directivas privadas. Esta sección analiza varios tipos de directivas con ejemplos relevantes:

Directivas reservadas

Las directivas reservadas se inicializan con tres guiones (---) como se muestra en el ejemplo siguiente. Las directivas reservadas se convierten en un valor específico de JSON.

%YAML 1.1
--- !!str
"foo"

Directiva YAML

Las directivas YAML son directivas predeterminadas. Si se convierte en JSON, el valor obtenido incluye el carácter de barra diagonal en los caracteres anteriores y finales.

%YAML 1.1
---
!!str "foo"

Marcadores de límites de documentos

YAML usa estos marcadores para permitir que más de un documento esté contenido en una secuencia. Estos marcadores se utilizan especialmente para transmitir la estructura del documento YAML. Tenga en cuenta que una línea que comienza con "---" se utiliza para iniciar un nuevo documento.

El siguiente código explica esto con ejemplos:

%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"

Documentos

El documento YAML se considera como una única estructura de datos nativa presentada como un único nodo raíz. Los detalles de presentación en el documento YAML como directivas, comentarios, sangría y estilos no se consideran contenidos incluidos en ellos.

Hay dos tipos de documentos que se utilizan en YAML. Se explican en esta sección:

Documentos explícitos

Comienza con el marcador de inicio del documento seguido de la presentación del nodo raíz. El ejemplo de declaración explícita YAML se da a continuación:

---

some: yaml

...

Incluye marcadores explícitos de inicio y fin que son "---" y "..." en el ejemplo dado. Al convertir el YAML especificado en formato JSON, obtenemos el resultado como se muestra a continuación:

{
   "some": "yaml"
}

Documentos implícitos

Estos documentos no comienzan con un marcador de inicio de documento. Observe el código que se proporciona a continuación:

fruits:
   - Apple
   - Orange
   - Pineapple
   - Mango

Al convertir estos valores en formato JSON, obtenemos la salida como un objeto JSON simple como se indica a continuación:

{
   "fruits": [
      "Apple",
      "Orange",
      "Pineapple",
      "Mango"
   ]
}

Transmisión completa

YAML incluye una secuencia de bytes denominada flujo de caracteres. La secuencia comienza con un prefijo que contiene un orden de bytes que denota una codificación de caracteres. El flujo completo comienza con un prefijo que contiene una codificación de caracteres, seguido de comentarios.

A continuación se muestra un ejemplo de flujo completo (flujo de caracteres):

%YAML 1.1
---
!!str "Text content\n"