aspose.info
HU

YAML fájlformátum

Frissítve

Mi az a YAML fájl?

A YAML fájl egy YAML (YAML Ain’t Markup Language) nyelvből áll, amely egy Unicode alapú adatsorosító nyelv; konfigurációs fájlokhoz, internetes üzenetküldéshez, objektummegmaradáshoz stb. használják. A YAML a .yaml kiterjesztést használja fájljaihoz. Szintaxisa független egy adott programozási nyelvtől. Alapvetően a YAML-t emberi interakcióra tervezték, és jól működik a modern programozási nyelvekkel. A tetszőleges natív adatszerkezetek sorosításának támogatása növelte a YAML-fájlok olvashatóságát, de kissé bonyolulttá tette az elemzési és fájlgenerálási folyamatot.

Rövid története

A YAML-t először 2001-ben javasolták, és Clark Evans, Ingy döt Net és Oren Ben-Kiki fejlesztette ki. A YAML-ról először azt mondták, hogy „egy újabb jelölőnyelvet” jelent, hogy jelezze a jelölőnyelvként való célját. Később „YAML Aint Markup Language” néven újrahasznosították, hogy jelezze, hogy adatorientált.

YAML fájlformátum

A YAML fájl a következő adattípusokból áll

  • Skalárok: A skalárok olyan értékek, mint a Strings, Integers, Booleans stb.
  • Sorozatok: A sorozatok olyan listák, amelyekben minden elem kötőjellel (-) kezdődik. A listák egymásba ágyazhatók is.
  • Leképezések: A leképezés lehetővé teszi a kulcsok értékekkel való felsorolását.

Szintaxis

  • Szóköz: A szóközök behúzása a beágyazás és az általános szerkezet jelzésére szolgál.
név: John Smith
kapcsolatba lépni:
otthon: 1012355532
iroda: 5002586256
cím:
utca: |
123 Tornado Alley
Lakosztály 16
város: East Centerville
állam: KS
  • Megjegyzések: A megjegyzések “#” szimbólummal kezdődnek.
# Ez egy YAML megjegyzés
  • Listák: Kötőjel (-) a listatagok jelölésére szolgál, minden egyes tag külön sorban. A listatagok szögletes zárójelbe ([…]) is tehetők, a tagokat vesszővel (,) elválasztva.
  - A
  - B
  - C
[A, B, C]
  • Associative Array: Az asszociatív tömböt göndör zárójelek veszik körül ({…}). A billentyűket és az értékeket kettősponttal (:), az egyes párokat pedig vessző (,) választja el.
  {name: John Smith, age: 20}
  • Strings: A karakterlánc írható dupla idézőjelekkel (") vagy szimpla idézőjelekkel (’).
Minta karakterlánc
"Minta karakterlánc"
"Minta karakterlánc"
  • Scalar Block tartalom: A skaláris tartalom blokkjelöléssel írható a következő használatával:
    • |: All live breaks are significant.
    • >: Each line break is folded to space. It removes the leading whitespace for each line.
adatok: |
YAML
(YAML nem jelölőnyelv)
egy adatsorosító nyelv
adatok: ?
YAML (YAML nem jelölőnyelv)
egy adatsorosító nyelv
  • Több dokumentum: A több dokumentumot három kötőjel (—) választja el egyetlen adatfolyamban. Kötőjelek jelzik a dokumentum kezdetét. A kötőjeleket az irányelvek és a dokumentumtartalom elkülönítésére is használják. A dokumentum végét három pont (…) jelzi.
  ---
1. dokumentum
  ---
2. dokumentum
...
  • Típus: Az érték típusának megadásához dupla felkiáltójelek (!!) használatosak.
a: !!úszó 123
b: !!str 123
  • Címke: Címke hozzárendeléséhez egy „és” jelet (&), a csomópontra való hivatkozáshoz pedig egy csillagot (*) használunk.
név: John Smith
számlázási cím: &id01
utca: |
123 Tornado Alley
Lakosztály 16
város: East Centerville
állam: KS

szállítási cím: *id01
  • Irányelvek: A YAML-dokumentumokat folyamban direktívák előzhetik meg. Az irányelvek százalékjellel (%) kezdődnek, ezt követi a név, majd a paraméterek szóközzel elválasztva.
%YAML 1.2
  ---
Dokumentum tartalma

YAML fájl példa

Itt láthat egy docker yaml fájl példát alább:

topology:
database_node_name: docker_controller
docker_controller_node_name: docker_controller
self_service_portal_node_name: docker_controller
kvm_compute_node_names: kvm_compute1
docker_compute_node_names: docker_compute1

YAML vs JSON

Alapvetően mind a JSON-t, mind a YAML-t úgy fejlesztették ki, hogy egy ember által olvasható adatcsere-formátumot biztosítsanak. A YAML a JSON formátum szuperkészleteként valósul meg. Ez azt jelenti, hogy a JSON-t YAML értelmezővel tudjuk elemezni. Bár ennek az elméletnek a gyakorlati megvalósítása kevéssé trükkös. Ezért az alábbiakban bemutatunk néhány alapvető különbséget a YAML és a JSON között:

YAMLJSON
A soros adatok elemzésének összetett és időigényes folyamataGyorsan és egyszerűen elemezheti a JSON soros adatokat egyszerűbb kialakításával
Kevesebb közösségi támogatásNagyobb közösségi támogatás és népszerűség
Támogatja a megjegyzéseketNem támogatja a megjegyzéseket
Lehetőség más adatobjektumok hivatkozásának használatáraAz összetett struktúrák objektumhivatkozásokkal történő sorozatosítása lehetetlen
A hierarchiát kettős szóközökkel jelöljük. Tabulátor karakterek nem engedélyezettekAz objektumok és tömbök kapcsos zárójelben vannak feltüntetve.
Az idézőjelek nem kötelezőek, de támogatja az egy- és dupla idézőjeleket.A karakterláncoknak dupla idézőjelben kell lenniük.
A gyökércsomópont bármely érvényes adattípus lehetA gyökércsomópontnak tömbnek vagy objektumnak kell lennie.

Referenciák

Lásd még