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"