aspose.info
LT

YAML failo formatas

Atnaujinta

Kas yra YAML failas?

YAML failą sudaro kalba YAML (YAML Ain’t Markup Language), kuri yra Unikodo duomenų serializavimo kalba; naudojamas konfigūracijos failams, internetiniams pranešimams, objektų išlikimui ir kt. YAML failams naudoja .yaml plėtinį. Jo sintaksė nepriklauso nuo konkrečios programavimo kalbos. Iš esmės, YAML yra sukurta žmonių sąveikai ir gerai dirbti su šiuolaikinėmis programavimo kalbomis. Savavališkų vietinių duomenų struktūrų nuoseklumo palaikymas padidino YAML failų skaitomumą, tačiau tai šiek tiek apsunkino analizavimo ir failų generavimo procesą.

Trumpa istorija

YAML pirmą kartą buvo pasiūlyta 2001 m., o ją sukūrė Clark Evans, Ingy döt Net ir Oren Ben-Kiki. Pirmiausia buvo pasakyta, kad YAML reiškia dar vieną žymėjimo kalbą, kad būtų nurodyta jos kaip žymėjimo kalbos paskirtis. Vėliau ji buvo pervadinta į YAML Aint Markup Language, kad būtų nurodyta, kad ji yra orientuota į duomenis.

YAML failo formatas

YAML failą sudaro šie duomenų tipai

– Skaliarai: skaliarai yra tokios reikšmės kaip eilutės, sveikieji skaičiai, loginiai skaičiai ir kt.

  • Sekos: sekos yra sąrašai, kurių kiekvienas elementas prasideda brūkšneliu (-). Sąrašai taip pat gali būti įdėti.
  • Susivaizdavimas: atvaizdavimas suteikia galimybę įtraukti raktus su reikšmėmis.

Sintaksė

  • Tarpas: tarpo įtrauka naudojama nurodyti lizdą ir bendrą struktūrą.
vardas: John Smith
kontaktas:
namai: 1012355532
biuras: 5002586256
adresas:
gatvė: |
123 Tornado alėja
Liukso numeris 16
miestas: East Centerville
valstybė: KS
  • Komentarai: Komentarai rašomi pradedant simboliu #.
# Tai YAML komentaras
  • Sąrašai: brūkšnelis (-) naudojamas sąrašo nariams nurodyti, kai kiekvienas narys yra atskiroje eilutėje. Sąrašo nariai taip pat gali būti pateikiami laužtiniuose skliaustuose ([…]), o nariai atskiriami kableliais (,).
  - "A"
  - "B"
  - "C"
[A, B, C]
  • Asociatyvinis masyvas: asociatyvus masyvas yra apsuptas riestiniais skliaustais ({…}). Raktai ir reikšmės yra atskirtos dvitaškiu (:), o kiekviena pora atskiriama kableliu (,).
{vardas: Johnas Smithas, amžius: 20}
  • Eilutės: eilutę galima parašyti su dvigubomis kabutėmis () arba viengubomis kabutėmis (’) arba be jų.
Pavyzdinė eilutė
"Pavyzdinė eilutė"
Sample String
  • Skaliarinio bloko turinys: skaliarinį turinį galima parašyti bloko žymėjimu naudojant šiuos veiksmus:
    • “|: visos tiesioginės pertraukos yra reikšmingos.”
    • “>: kiekviena eilutės pertrauka perlenkiama į tarpą. Tai pašalina kiekvienos eilutės priekinį tarpą.”
duomenys: |
YAML
(YAML nėra žymėjimo kalba)
yra duomenų serializavimo kalba
duomenys: ?
YAML (YAML nėra žymėjimo kalba)
yra duomenų serializavimo kalba
  • Keli dokumentai: keli dokumentai viename sraute atskiriami trimis brūkšneliais (—). Brūkšneliai nurodo dokumento pradžią. Brūkšneliai taip pat naudojami atskirti direktyvas nuo dokumento turinio. Dokumento pabaiga žymima trimis taškais (…).
  ---
1 dokumentas
  ---
2 dokumentas
...
  • Tipas: norint nurodyti reikšmės tipą, naudojami dvigubi šauktukai (!!).
a: !!plūduriuoti 123
b: !!str 123
  • Žyma: norint užrašui priskirti žymą, naudojamas ampersandas (&), o norint nurodyti tą mazgą – žvaigždutė (*).
vardas: John Smith
sąskaitos gavėjas: &id01
gatvė: |
123 Tornado alėja
Liukso numeris 16
miestas: East Centerville
valstybė: KS

siuntimas į: *id01
  • Direktyvos: prieš YAML dokumentus sraute gali būti pateiktos direktyvos. Direktyvos prasideda procento ženklu (%), po kurio nurodomas pavadinimas ir parametrai, atskirti tarpais.
%YAML 1.2
  ---
Dokumento turinys

YAML failo pavyzdys

Toliau galite pamatyti docker yaml failo pavyzdį:

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 prieš JSON

Iš esmės tiek JSON, tiek YAML yra sukurti taip, kad būtų užtikrintas žmogaus skaitomas duomenų mainų formatas. YAML yra realizuotas kaip JSON formato superrinkinys. Tai reiškia, kad galime išanalizuoti JSON naudodami YAML analizatorių. Nors praktinis šios teorijos įgyvendinimas yra mažai keblus. Todėl žemiau pateikiami kai kurie pagrindiniai YAML ir JSON skirtumai:

YAMLJSON
Sudėtingas ir daug laiko reikalaujantis nuosekliųjų duomenų analizės procesasGreitai ir lengvai analizuokite JSON serijinius duomenis naudodami paprastesnį dizainą
Mažiau bendruomenės paramosDidesnis bendruomenės palaikymas ir populiarumas
Palaiko komentarusNepalaiko komentarų
Gebėjimas naudoti nuorodas į kitus duomenų objektusNeįmanoma suskirstyti sudėtingų struktūrų su objektų nuorodomis
Hierarchija žymima naudojant dvigubus tarpus. Tabukų simboliai neleidžiamiObjektai ir masyvai žymimi skliaustuose ir skliaustuose.
Eilutės kabutės yra neprivalomos, bet palaiko vienkartines ir dvigubas kabutes.Eilutės turi būti su dvigubomis kabutėmis.
Šakninis mazgas gali būti bet kuris iš galiojančių duomenų tipųŠakninis mazgas turi būti masyvas arba objektas.

Nuorodos Nr.

Taip pat žiūrėkite