Nemokamas konverteris

JSON į YAML keitiklis

Konvertuokite JSON struktūrą į švarų YAML formatą. Idealiai tinka Kubernetes manifestams ir debesų konfigūracijoms.

Arba

Apie šį įrankį

Perėjimas nuo JSON prie YAML daugiausia susijęs su duomenų skaitomumu žmonėms. Abu formatai apibūdina tos pačios rūšies struktūras – objektus/žemėlapius, masyvus/sekos, skaliarus – bet YAML įtrauka pagrįsta sintaksė, pasirenkamos citatos ir komentarų palaikymas palengvina nuskaitymą ir redagavimą ranka. Konfigūracijos failai yra kanoninis naudojimo atvejis: „Kubernetes“ aprašai, CI darbo eigos, „Ansible“ žaidimų knygos ir daugybė kitų įrankių pasirinko YAML būtent todėl, kad jų pagrindiniai redaktoriai yra žmonės.

Šis konverteris naudoja js-yaml, kad išanalizuoti JSON objektą į YAML. Rezultatas tiksliai išsaugo duomenų struktūrą taikant YAML konvencijas: įtrauka įdėjimui, sąrašai masyvams, raktų ir reikšmių poros objekto savybėms. JSON griežtos dvigubos citatos yra sušvelnintos; išvestyje cituojamos tik eilutės, kuriose yra specialiųjų simbolių arba kurios atrodo kaip kiti tipai.

Konversija išsaugo informaciją, išskyrus atvejus, kai YAML prideda išraiškingumo, kurio JSON neturėjo. Komentarų negalima atkurti (JSON neturėjo). Prieraišo ir slapyvardžių nuorodos gali suspausti pasikartojančias struktūras, tačiau jos nėra generuojamos automatiškai; išvestis išplečia visas nuorodas į eilutę.

Kodėl konvertuoti JSON į YAML

YAML yra žymiai geriau skaitomas nei JSON, skirtas žmonėms redaguoti konfigūraciją. Įtrauka pakeičia skliaustų įdėjimą, kabutės yra neprivalomos paprastoms eilutėms, o komentarai gali dokumentuoti neakivaizdžius nustatymus. Žmonių prižiūrimiems failams – programos konfigūracijai, infrastruktūrai kaip kodui, konvejeriams kurti – YAML beveik visada yra tinkamas paskirties formatas.

Šiuolaikinės infrastruktūros įrankiai didžiąja dalimi teikia pirmenybę YAML. Kubernetes, Helm diagramos, Ansible, GitHub Actions, GitLab CI, Docker Compose ir daugelis kitų įrankių teikia pirmenybę arba reikalauja YAML. JSON eksporto iš vienos sistemos konvertavimas į kitos sistemos YAML konfigūraciją yra įprastas integravimo veiksmas.

Kaip naudoti

Įklijuokite JSON ir gaukite YAML.

  1. Pridėkite savo JSON: Įklijuokite JSON tekstą arba palikite failą. Įvestis turi būti galiojanti JSON; keitiklis nebando išanalizuoti JSON tipo įvesties, kuri pažeidžia specifikaciją.
  2. Pasirinkite parinktis: Numatytasis įtraukos dydis yra 2 tarpai, dažniausiai pasitaikantis YAML susitarimas. Srauto stilius (panašus į kompaktišką JSON) ir bloko stilius (pagrįstas įtrauka) perjungia išvesties išvaizdą – blokas yra žmonėms pritaikytas numatytasis parametras.
  3. Konvertuoti: js-yaml iškelties funkcija nuosekliai išnagrinėja JSON medį į YAML. Citatos eilutės taikomos tik tada, kai tai būtina; sudėtingos eilutės lieka įskaitomos.
  4. Atsisiųskite arba nukopijuokite: Išsaugokite kaip .yml arba nukopijuokite į mainų sritį. Išvestis galioja YAML 1.2, paruošta bet kuriam YAML vartotojui.

Bendro naudojimo atvejai

Techninės detalės

js-yaml iškelties funkcija eina per „JavaScript“ objektų medį ir išleidžia YAML, naudodama konfigūruojamą formatavimą. Įtraukos gylis, linijos plotis, srauto stiliaus slenkstis ir kabučių tvarkymas yra visi parametrai. Numatytieji nustatymai sukuria bloko tipo YAML su 2 tarpų įtrauka, dažniausiai pasitaikančia sutartimi.

Eilučių citavimas vadovaujasi YAML taisyklėmis: eilutės, kurios atrodo kaip kitų tipų (skaičiai, loginiai dydžiai, nulis, datos), yra cituojamos siekiant priversti eilutę interpretuoti; eilutės, kuriose yra specialiųjų simbolių (dvitaškiai, maišos, pirmaujantys brūkšniai) yra kabutėse; paprastos abėcėlės eilutės paliekamos be kabučių.

Išvestis yra suderinama su YAML 1.2 ir aiškiai analizuojama su js-yaml, PyYAML ir kitomis pagrindinėmis YAML bibliotekomis. Idempotentinės kelionės pirmyn ir atgal (JSON → YAML → JSON) išsaugo duomenis, nors YAML vaizdavimas pasirenka kanoninį formatavimą, kuris gali skirtis nuo ranka parašyto atitikmens.

Geriausia praktika

Dažnai užduodami klausimai

Ar JSON konvertavimas į YAML 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 verta naudoti YAML formatą?
YAML yra populiarus konfigūracijos failams, nes jis puikiai skaitomas naudojant minimalią sintaksę. Tai Docker Compose, Kubernetes, GitHub Actions ir daugelio CI / CD įrankių standartas.
Ar keitiklis tvarko įdėtas arba sudėtingas JSON struktūras?
Taip. Įrankis teisingai analizuoja įdėtus objektus, masyvus ir visus standartinius JSON duomenų tipus, išsaugodamas visą duomenų struktūrą YAML 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ų.
O kaip su eilutėmis su specialiais simboliais?
js-yaml juos cituoja automatiškai. Stygos, kuriose yra dvitaškių, maišos arba pirmųjų brūkšnių, įtraukiamos į kabutes, kad YAML būtų gerai suformuota.
Ar mano duomenys įkeliami į serverį?
Ne. Konversija vykdoma jūsų naršyklėje naudojant js-yaml.
Ar galiu keliauti JSON į YAML ir atgal?
Taip. JSON → YAML → JSON išsaugo duomenis struktūriškai. Konvertuotų JSON raktų tvarka atitinka įvestį.
Koks yra didžiausias įvesties dydis?
Iki 50 MB. js-yaml iš karto tvarko tipinius konfigūracijos failus.