YAML - Streams de caracteres
Em YAML, você encontra vários fluxos de personagens da seguinte maneira -
- Directives
- Marcadores de limite de documento
- Documents
- Stream completo
Neste capítulo, iremos discuti-los em detalhes.
Diretivas
As diretivas são instruções básicas usadas no processador YAML. As diretivas são os detalhes da apresentação, como comentários, que não são refletidos na árvore de serialização. Em YAML, não há como definir diretivas privadas. Esta seção discute vários tipos de diretivas com exemplos relevantes -
Diretivas Reservadas
As diretivas reservadas são inicializadas com três caracteres de hífen (---), conforme mostrado no exemplo abaixo. As diretivas reservadas são convertidas em valor específico de JSON.
%YAML 1.1
--- !!str
"foo"
Diretiva YAML
Diretivas YAML são diretivas padrão. Se convertido em JSON, o valor buscado inclui o caractere de barra nos caracteres precedentes e finais.
%YAML 1.1
---
!!str "foo"
Marcadores de limite de documento
YAML usa esses marcadores para permitir que mais de um documento esteja contido em um fluxo. Esses marcadores são usados especialmente para transmitir a estrutura do documento YAML. Observe que uma linha começando com “---“ é usada para iniciar um novo documento.
O código a seguir explica isso com exemplos -
%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"
Documentos
O documento YAML é considerado uma estrutura de dados nativa única apresentada como um único nó raiz. Os detalhes da apresentação no documento YAML, como diretivas, comentários, recuos e estilos, não são considerados como conteúdos neles incluídos.
Existem dois tipos de documentos usados em YAML. Eles são explicados nesta seção -
Documentos Explícitos
Ele começa com o marcador de início do documento seguido pela apresentação do nó raiz. O exemplo de declaração explícita YAML é fornecido abaixo -
---
some: yaml
...
Inclui marcadores de início e fim explícitos, que são “---“ e “…” em determinado exemplo. Ao converter o YAML especificado no formato JSON, obtemos a saída conforme mostrado abaixo -
{
"some": "yaml"
}
Documentos implícitos
Esses documentos não começam com um marcador de início de documento. Observe o código fornecido abaixo -
fruits:
- Apple
- Orange
- Pineapple
- Mango
Convertendo esses valores no formato JSON, obtemos a saída como um objeto JSON simples, conforme fornecido abaixo -
{
"fruits": [
"Apple",
"Orange",
"Pineapple",
"Mango"
]
}
Stream completo
YAML inclui uma sequência de bytes chamada de fluxo de caracteres. O fluxo começa com um prefixo contendo uma ordem de bytes denotando uma codificação de caracteres. O fluxo completo começa com um prefixo contendo uma codificação de caracteres, seguido por comentários.
Um exemplo de fluxo completo (fluxo de caracteres) é mostrado abaixo -
%YAML 1.1
---
!!str "Text content\n"