UltKit

JSON í YAML breytir

Skrifaðu JSON upp á nýtt sem YAML sem fólk getur lesið, yfirfarið og skrifað athugasemdir við. Hladdu upp .json-skrám og fáðu inndregnar .yaml-skrár með sömu lyklum, gildum og röð, tilbúnar til að setja beint í kóðasafn.

Gagnaumbreyting

eða slepptu CSV, TSV, TXT … skrár hér ·

Að hámarki 95 MB á skrá· Allt að 20 skrár· Eytt eftir 30 mínútur

Úttak

Skrár eru unnar á þjónum okkar og eytt eftir 30 mínútur.

Hvernig á að nota tólið

  1. 1

    Bættu JSON-skránum við

    Hladdu upp API-svörum, útfluttum stillingum eða útbúnum manifest-skrám sem .json, allt að 20 skrám og 95 MB hverri. Hver skrá verður að innihalda eitt gilt JSON-gildi.

  2. 2

    Haltu sjálfgefnu stillingunum

    YAML er þegar valið undir Umbreyta í. Ekki þarf að breyta neinu öðru fyrir stillingaskrá; úttakið notar tveggja bila inndrátt.

  3. 3

    Umbreyttu og vistaðu í kóðasafnið

    Ýttu á Umbreyta í YAML, sæktu .yaml skrárnar, bættu við athugasemdum þar sem næsti lesandi þarf á þeim að halda og vistaðu breytingarnar í útgáfustýringu (commit).

Svar

Hvernig umbreyti ég JSON í YAML?

Hladdu upp .json skránni og ýttu á Umbreyta í YAML. Hlutir verða að inndregnum lykill: gildi blokkum, fylki verða að listum með bandstrikum og strengir sem YAML gæti misskilið halda gæsalöppum sínum.

Af hverju að umbreyta JSON í YAML fyrir stillingaskrár

Mest af JSON er búið til af hugbúnaði: API-svar, útflutningur stillinga, úttak frá kóðaframleiðanda. Mest af YAML er viðhaldið af fólki. Umbreytingin markar oftast þá stund þegar gögn hætta að vera vélarúttak og verða eitthvað sem teymi á, svo sem uppsetningarskrá (deployment manifest) í Git, CI-ferli eða safn Ansible-breyta.

Dæmigert tilvik: þú kallar á skýjaþjónustu-API, færð 200 lína JSON-lýsingu á auðlind og vilt geyma hana sem innviðakóða. Umbreytingin skilar skrá án slaufusviga og kommna, þar sem ein línubreyting gefur eina línu í mun og þú getur útskýrt óvenjuleg gildi í athugasemdum. Það sama gildir um prófunargögn og þýðingarskrár sem aðrir en forritarar breyta. Ef þú þarft frekar flata töflu, fyrir töflureikni eða skýrslu, hentar JSON í CSV betur.

Tól sem nota YAML í stillingaskrám

Hvar umbreytt YAML endar yfirleitt
StofnunKrafaHeimild
GitHub ActionsVerkferlar eru í .github/workflows sem .yml eða .yaml skrárGitHub Docs
GitLab CI/CDFerlið er skilgreint í .gitlab-ci.yml í rót hugbúnaðarsafnsinsGitLab Docs
Docker ComposeÞjónustur eru lýstar í compose.yaml (áður docker-compose.yml)Docker Docs
AnsiblePlaybook-skrár og breytuskrár eru skrifaðar í YAMLAnsible Docs
KubernetesManifest-skrár taka við JSON eða YAML; skjöl og Helm-pakkar nota YAMLKubernetes

Dæmi um JSON í YAML með vandasömum gildum

YAML-úttak fyrir {"name":"api","version":"1.10","debug":false,"tags":["vefur","evrópa"],"country":"NO"}
name: api
version: "1.10"
debug: false
tags:
  - vefur
  - evrópa
country: "NO"

Hvað YAML gefur þér

  • Athugasemdir með #
  • Styttri munur í kóðarýni
  • Engin slaufusvigar, kommur eða gæsalappir í flestum línum
  • Fjölllínutexti með | blokkarstrengjum

Hvað ber að varast

  • Inndráttur hefur merkingu, svo eitt aukabil breytir uppbyggingu
  • Tabulatorar eru ekki leyfðir í inndrætti
  • Strengir án gæsalappa geta verið lesnir sem tölur eða búlsk gildi
  • Hægari og ósamstæðari þættir en fyrir JSON

Dæmið sýnir hvers vegna einföld leit og skipti á slaufusvigum dugar ekki. Útgáfan 1.10 er strengur í JSON; skrifuð án gæsalappa í YAML yrði hún lesin sem talan 1.1. NO, ISO-kóði Noregs, yrði lesið sem false af YAML 1.1 þáttum eins og PyYAML. Bæði halda gæsalöppum sínum, en raunverulegar tölur og búlsk gildi standa án þeirra.

JSON og YAML borin saman

JSON

JavaScript Object Notation

JSON er létt textasnið fyrir skipulögð gögn, gert vinsælt af Douglas Crockford snemma á fyrsta áratug aldarinnar og staðlað sem RFC 8259 og ECMA-404. Það lýsir hlutum, fylkjum, strengjum, tölum, rökgildum og null með einfaldri og læsilegri setningafræði. Það er sjálfgefið snið fyrir vefviðmót (API), stillingarskrár og gagnaskipti milli forrita í nær öllum forritunarmálum. Það hefur engar innbyggðar athugasemdir, dagsetningar eða skema, og stórar djúpt hreiðraðar skrár eru erfiðar aflestrar án skoðara.

Þjöppun
–
Gegnsæi
–
Hreyfimynd
–
Kom fram
2001 · Douglas Crockford
JSON umbreytir

YAML

YAML

YAML („YAML Ain't Markup Language“) er gagnasnið sem er þægilegt fyrir fólk og kom fyrst út 2001. Það notar inndrátt í stað sviga, styður athugasemdir og er yfirmengi JSON. Það er mikið notað fyrir stillingar í Docker Compose, Kubernetes, GitHub Actions og mörgum forritum. Þar sem það byggir á bilum er auðvelt að skemma það með einu röngu bili og sum gildi, eins og „no“ eða dagsetningar, geta verið túlkuð óvænt.

Þjöppun
–
Gegnsæi
–
Hreyfimynd
–
Kom fram
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML umbreytir

Fólk umbreytir JSON í YAML þegar útbúin gögn eða API-gögn þurfa að verða stillingaskrá sem menn sjá um, rýna í pull request og skrifa athugasemdir við.

Spurningar um JSON í YAML breytinn

Er JSON nú þegar gilt YAML?

Samkvæmt YAML 1.2 já: endurskoðunin frá 2009 var skrifuð þannig að sérhvert JSON-skjal er líka YAML-skjal. Þú gætir límt JSON inn í .yaml skrá og flest tól tækju við því. Umbreytingin snýst um læsileika: blokkarsnið án slaufusviga, gæsalappa og kommna er það sem rýnendur og næsti umsjónarmaður búast við.

Af hverju eru sum gildi innan gæsalappa í YAML-skránni?

Vegna þess að án gæsalappa læsi YAML þau sem aðra gerð. Útgáfustrengur eins og 1.10 yrði að tölunni 1.1, og yes eða off gætu orðið að búlskum gildum í eldri þátturum. Strengir sem líta út eins og tölur, dagsetningar eða búlsk gildi þurfa gæsalappir til að haldast strengir, því heldur vönduð umbreyting þeim.

Get ég bætt við athugasemdum eftir umbreytingu?

Já, og það er algeng ástæða til að umbreyta. Skrifaðu # og síðan athugasemdina aftast í línu eða á sér línu. Í JSON var engin leið til að útskýra hvers vegna gildi er stillt svona; í YAML er hún til, sem auðveldar rýni og yfirfærslu verkefna.

Af hverju gefur YAML-skráin villu um dálkstaf (tab)?

YAML-skilgreiningin bannar tabulatora í inndrætti; aðeins bil gilda. Umbreytirinn skrifar bil, en ritill sem er stilltur á að setja inn tabulatora getur skemmt skrána við næstu breytingu. Stilltu ritilinn á að nota bil í .yaml skrám.

Samþykkir Kubernetes umbreyttu skilgreiningarskrána?

kubectl les bæði JSON og YAML, svo gögnin eru þau sömu hvort sem er; YAML-útgáfan er einfaldlega sú sem flest skjöl, Helm-pakkar og kóðarýni nota. Ef þú þarft síðar JSON aftur fyrir jq eða API-kall snýr YAML í JSON þessu við.