YAML - Gaya Aliran
Gaya aliran di YAML dapat dianggap sebagai perpanjangan alami JSON untuk menutupi garis konten lipat untuk fitur yang lebih mudah dibaca yang menggunakan jangkar dan alias untuk membuat instance objek. Dalam bab ini, kami akan fokus pada representasi aliran dari konsep berikut -
- Node Alias
- Node Kosong
- Gaya Skalar Arus
- Gaya pengumpulan aliran
- Node aliran
Contoh node alias ditunjukkan di bawah ini -
%YAML 1.2
---
!!map {
? !!str "First occurrence"
: &A !!str "Foo",
? !!str "Override anchor"
: &B !!str "Bar",
? !!str "Second occurrence"
: *A,
? !!str "Reuse anchor"
: *B,
}
Output JSON dari kode yang diberikan di atas diberikan di bawah ini -
{
"First occurrence": "Foo",
"Second occurrence": "Foo",
"Override anchor": "Bar",
"Reuse anchor": "Bar"
}
Node dengan konten kosong dianggap sebagai node kosong. Contoh berikut menunjukkan ini -
%YAML 1.2
---
!!map {
? !!str "foo" : !!str "",
? !!str "" : !!str "bar",
}
Output dari node kosong di JSON direpresentasikan seperti di bawah ini -
{
"": "bar",
"foo": ""
}
Gaya skalar aliran mencakup tipe kutipan ganda, kutipan tunggal, dan biasa. Contoh dasar untuk hal yang sama diberikan di bawah ini -
%YAML 1.2
---
!!map {
? !!str "implicit block key"
: !!seq [
!!map {
? !!str "implicit flow key"
: !!str "value",
}
]
}
Output dalam format JSON untuk contoh yang diberikan di atas ditunjukkan di bawah ini -
{
"implicit block key": [
{
"implicit flow key": "value"
}
]
}
Pengumpulan aliran di YAML bertingkat dengan kumpulan blok dalam kumpulan aliran lain. Entri pengumpulan aliran diakhiri dengancomma (,) indikator. Contoh berikut menjelaskan blok pengumpulan aliran secara rinci -
%YAML 1.2
---
!!seq [
!!seq [
!!str "one",
!!str "two",
],
!!seq [
!!str "three",
!!str "four",
],
]
Output untuk pengumpulan aliran di JSON ditunjukkan di bawah ini -
[
[
"one",
"two"
],
[
"three",
"four"
]
]
Gaya aliran seperti JSON termasuk indikator awal dan akhir. Satu-satunya gaya aliran yang tidak memiliki properti apa pun adalah skalar biasa.
%YAML 1.2
---
!!seq [
!!seq [ !!str "a", !!str "b" ],
!!map { ? !!str "a" : !!str "b" },
!!str "a",
!!str "b",
!!str "c",]
Output untuk kode yang ditunjukkan di atas dalam format JSON diberikan di bawah ini -
[
[
"a",
"b"
],
{
"a": "b"
},
"a",
"b",
"c"
]