Yaml-character-streams
YAML-文字ストリーム
In YAML, you come across various character streams as follows −
- 指令
- ドキュメント境界マーカー
- 書類
- 完全なストリーム
この章では、それらについて詳しく説明します。
指令
ディレクティブは、YAMLプロセッサで使用される基本的な命令です。 ディレクティブは、シリアル化ツリーに反映されないコメントのようなプレゼンテーションの詳細です。 YAMLでは、プライベートディレクティブを定義する方法はありません。 このセクションでは、関連する例とともにさまざまなタイプのディレクティブについて説明します-
予約済みディレクティブ
次の例に示すように、予約済みディレクティブは3つのハイフン文字(---)で初期化されます。 予約済みのディレクティブは、JSONの特定の値に変換されます。
%YAML 1.1
--- !!str
"foo"
YAMLディレクティブ
YAMLディレクティブはデフォルトのディレクティブです。 JSONに変換される場合、フェッチされる値には、前後の文字にスラッシュ文字が含まれます。
%YAML 1.1
---
!!str "foo"
ドキュメント境界マーカー
YAMLはこれらのマーカーを使用して、1つのストリームに複数のドキュメントを含めることができます。 これらのマーカーは、YAMLドキュメントの構造を伝えるために特別に使用されます。 「---」で始まる行は、新しいドキュメントを開始するために使用されることに注意してください。
次のコードは、例を使用してこれについて説明します-
%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"
書類
YAMLドキュメントは、単一のルートノードとして提示される単一のネイティブデータ構造と見なされます。 ディレクティブ、コメント、インデント、スタイルなどのYAMLドキュメントのプレゼンテーションの詳細は、それらに含まれるコンテンツとは見なされません。
YAMLで使用されるドキュメントには2つのタイプがあります。 彼らはこのセクションで説明されています-
明示的なドキュメント
ドキュメント開始マーカーで始まり、その後にルートノードが表示されます。 YAMLの明示的な宣言の例を以下に示します-
---
some: yaml
...
この例には、明示的な開始マーカーと終了マーカーが含まれており、この例では「---」および「…」です。 指定されたYAMLをJSON形式に変換すると、以下に示すような出力が得られます-
{
"some": "yaml"
}
暗黙のドキュメント
これらのドキュメントは、ドキュメント開始マーカーで始まりません。 以下のコードを確認してください-
fruits:
- Apple
- Orange
- Pineapple
- Mango
これらの値をJSON形式に変換すると、以下に示すように出力が単純なJSONオブジェクトとして取得されます-
{
"fruits": [
"Apple",
"Orange",
"Pineapple",
"Mango"
]
}
完全なストリーム
YAMLには、文字ストリームと呼ばれる一連のバイトが含まれています。 ストリームは、文字エンコーディングを示すバイト順を含むプレフィックスで始まります。 完全なストリームは、文字エンコードを含むプレフィックスで始まり、その後にコメントが続きます。
完全なストリーム(文字ストリーム)の例は以下に示されています-
%YAML 1.1
---
!!str "Text content\n"