YAML į JSON konverteris
Greitas ir saugus YAML konvertavimas į JSON. Puikiai tinka konfigūracijos failams ir duomenų analizei.
Greitas ir saugus YAML konvertavimas į JSON. Puikiai tinka konfigūracijos failams ir duomenų analizei.
YAML ir JSON yra glaudžiai susiję formatai – JSON techniškai yra griežtas YAML 1.2 pogrupis – ir konvertuoti tarp jų paprastai yra nesudėtinga. YAML prideda žmonėms patogių funkcijų, kurių JSON trūksta: komentarai, kelių eilučių eilutės be pabėgimo, inkaro ir slapyvardžių nuorodos, lankstesnė citata ir įtrauka pagrįsta struktūra, primenanti natūralų dokumento išdėstymą. Dėl to YAML yra populiarus konfigūracijos failų pasirinkimas (Kubernetes manifestai, GitHub Actions darbo eigos, Docker Compose), o JSON dominuoja API naudingose apkrovose.
YAML konvertavimas į JSON paprastai reiškia, kad reikia atsisakyti žmonėms patogių YAML priedų mainais į formatą, kurį mašinos lengviau analizuoja ir kuris yra HTTP API lingua franca. Komentarai atmetami (JSON neturi). Inkaro nuorodos išskaidomos į jų nuorodas. Kelių eilučių eilutės susitraukia į standartines JSON eilutes su įterptomis naujomis eilutėmis.
Šis keitiklis analizuoja YAML naudodamas js-yaml, plačiausiai naudojamą „JavaScript“ YAML biblioteką. Išvestis generuojama naudojant JSON.stringify su pasirenkama įtrauka. Konversija apdoroja visą standartinę YAML 1.2 sintaksę, įskaitant srauto stilių, bloko stilių, skalierius, sekas, atvaizdus, inkarus, slapyvardžius ir standartinius žymų tipus.
Dauguma API ir daugelis programavimo aplinkų tikisi JSON. YAML parašytus konfigūracijos failus reikia konvertuoti į JSON, kai integruojama su kodu arba paslaugomis, kurios priima tik JSON. JSON įrankių taip pat gausiau: jq, JSON Path, JSON schema ir plati tikrintuvų bei transformatorių ekosistema naudoja JSON įvestį.
JSON taip pat yra nedviprasmiškas tuo, kad YAML nėra. YAML lankstumas sukuria analizavimo siurprizų – eilutes, pvz., „ne“ kaip loginį klaidingą YAML 1.1, versijos eilutes analizuoja kaip plūduriuojančias eilutes, įtraukimo klaidas sukelia tylius struktūrinius pokyčius. Konvertuojant į JSON, duomenys užšaldomi į ne tokią dviprasmišką formą.
Įklijuokite YAML, gaukite JSON.
js-yaml įdiegia YAML 1.2 su pasirenkamu YAML 1.1 keistenybių palaikymu („ne“ kaip klaidinga problema, aštuntainiai skaičiai be 0o priešdėlio). Analizatorius sukuria „JavaScript“ objektų medį naudodamas vietinius tipus: skaičius, eilutes, loginius, nulinius, masyvus ir paprastus objektus.
JSON.stringify suskirsto objektų medį į JSON. Neprivaloma įtrauka sukuria gražią spaudinį; be jo rezultatas yra kompaktiškas vienos eilutės JSON. Specialios reikšmės (NaN, Infinity, undefined) negalioja JSON; keitiklis priverčia juos į nulį, jei yra.
Kraštiniai atvejai: YAML laiko žymos tampa ISO-8601 eilutėmis JSON. YAML dvejetainiai duomenys (užkoduoti baze64) tampa eilute. Prieraiščiai ir slapyvardžiai išsprendžiami į pasikartojančias reikšmes JSON, nes JSON neturi nuorodos sintaksės.