YAML - Flux de caractères

Dans YAML, vous rencontrez divers flux de personnages comme suit -

  • Directives
  • Marqueurs de limite de document
  • Documents
  • Stream complet

Dans ce chapitre, nous les discuterons en détail.

Directives

Les directives sont des instructions de base utilisées dans le processeur YAML. Les directives sont les détails de présentation comme les commentaires qui ne sont pas reflétés dans l'arborescence de sérialisation. Dans YAML, il n'y a aucun moyen de définir des directives privées. Cette section traite de différents types de directives avec des exemples pertinents -

Directives réservées

Les directives réservées sont initialisées avec trois traits d'union (---) comme indiqué dans l'exemple ci-dessous. Les directives réservées sont converties en valeur spécifique de JSON.

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

Directive YAML

Les directives YAML sont des directives par défaut. Si elle est convertie en JSON, la valeur extraite inclut la barre oblique dans les caractères précédents et de fin.

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

Marqueurs de limite de document

YAML utilise ces marqueurs pour permettre à plus d'un document d'être contenu dans un flux. Ces marqueurs sont spécialement utilisés pour transmettre la structure du document YAML. Notez qu'une ligne commençant par «---» est utilisée pour démarrer un nouveau document.

Le code suivant explique à ce sujet avec des exemples -

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

Des documents

Le document YAML est considéré comme une seule structure de données native présentée comme un nœud racine unique. Les détails de présentation dans le document YAML tels que les directives, les commentaires, l'indentation et les styles ne sont pas considérés comme des contenus qui y sont inclus.

Il existe deux types de documents utilisés dans YAML. Ils sont expliqués dans cette section -

Documents explicites

Il commence par le marqueur de début de document suivi de la présentation du nœud racine. L'exemple de déclaration explicite YAML est donné ci-dessous -

---

some: yaml

...

Il comprend des marqueurs de début et de fin explicites qui sont «---» et «…» dans l'exemple donné. Lors de la conversion du YAML spécifié au format JSON, nous obtenons la sortie comme indiqué ci-dessous -

{
   "some": "yaml"
}

Documents implicites

Ces documents ne commencent pas par un marqueur de début de document. Observez le code ci-dessous -

fruits:
   - Apple
   - Orange
   - Pineapple
   - Mango

En convertissant ces valeurs au format JSON, nous obtenons la sortie sous forme d'un simple objet JSON comme indiqué ci-dessous -

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

Stream complet

YAML comprend une séquence d'octets appelée flux de caractères. Le flux commence par un préfixe contenant un ordre d'octets indiquant un codage de caractères. Le flux complet commence par un préfixe contenant un encodage de caractères, suivi de commentaires.

Un exemple de flux complet (flux de caractères) est présenté ci-dessous -

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