Nemokamas konverteris

YAML į JSON konverteris

Greitas ir saugus YAML konvertavimas į JSON. Puikiai tinka konfigūracijos failams ir duomenų analizei.

Arba

Apie šį įrankį

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.

Kodėl YAML konvertuoti į JSON

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ą.

Kaip naudoti

Įklijuokite YAML, gaukite JSON.

  1. Pridėkite savo YAML: Įklijuokite YAML tekstą į įvesties sritį arba palikite .yml/.yaml failą. js-yaml priima visą YAML 1.2 sintaksę.
  2. Konvertuoti: js-yaml išanalizuoja YAML į „JavaScript“ objektą, o JSON.stringify suskirsto jį su dviejų tarpų įtrauka. Komentarai atmetami, inkarai išsprendžiami, o specialūs YAML tipai (laiko žymos, dvejetainiai duomenys) konvertuojami į JSON suderinamas reprezentacijas.
  3. Peržiūrėkite rezultatą: Patvirtinkite, kad JSON struktūra atitinka tai, ko tikėjotės. Palyginkite su šaltiniu YAML, kad pastebėtumėte visas vietas, kur laisvas YAML spausdinimas sukūrė netikėtas JSON reikšmes.
  4. Atsisiųskite arba nukopijuokite: Išsaugokite kaip .json arba nukopijuokite į mainų sritį. Išvestis yra galiojanti JSON, kurią gali naudoti bet kuris JSON analizatorius.

Bendro naudojimo atvejai

Techninės detalės

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.

Geriausia praktika

Dažnai užduodami klausimai

Ar YAML konvertavimas į JSON keičia turinį?
Turinys išsaugomas kuo tiksliau. Tačiau kai kurios su formatu susijusios funkcijos gali neturėti tiesioginių atitikmenų, todėl gali atsirasti nedidelių formatavimo skirtumų.
Kodėl konvertuoti duomenis į JSON formatą?
JSON yra standartinis žiniatinklio API ir „JavaScript“ programų duomenų formatas. Jis yra skaitomas žmonėms, plačiai palaikomas programavimo kalbų, o sintaksė yra paprastesnė nei XML.
Ar keitiklis tvarko įdėtas arba sudėtingas YAML struktūras?
Taip. Įrankis teisingai analizuoja įdėtus objektus, masyvus ir visus standartinius YAML duomenų tipus, išsaugodamas visą duomenų struktūrą JSON išvestyje.
Ar ši konversija saugi ir privati?
Taip. Visas apdorojimas vyksta lokaliai jūsų naršyklėje. Jūsų duomenys niekada nepalieka jūsų įrenginio – neįkeliama į serverį, neapdorojama debesyje, nerenkama duomenų.
Ar mano YAML kelionė pirmyn ir atgal bus švari?
Struktūriškai taip, jei iš naujo išsiunčiate JSON atgal į YAML. Prarandami komentarai ir inkaro struktūra; išsaugomos neapdorotos vertybės.
Ar mano duomenys įkeliami į serverį?
Ne. js-yaml veikia jūsų naršyklėje.
Koks yra maksimalus dydis?
Iki 50 MB. js-yaml iš karto tvarko tipinius konfigūracijos failus; labai didelės YAML analizės gali užtrukti daug laiko.
Ar ji palaiko kelių dokumentų YAML?
YAML palaiko kelis dokumentus viename faile, atskirtame ---. Konverteris pagal numatytuosius nustatymus apdoroja pirmąjį dokumentą; Norėdami tvarkyti kelis dokumentus, pirmiausia padalinkite YAML.