Besplatni pretvarač

YAML na JSON pretvarač

Brza i sigurna konverzija YAML u JSON. Savršeno za konfiguracijske datoteke i analizu podataka.

Ili

O ovom alatu

YAML i JSON blisko su povezani formati — JSON je tehnički striktni podskup YAML-a 1.2 — i pretvaranje između njih obično je jednostavno. YAML dodaje značajke prilagođene ljudima koje nedostaju JSON-u: komentare, nizove s više redaka bez bježanja, reference sidra i aliasa, fleksibilnije citiranje i strukturu temeljenu na uvlačenju koja nalikuje prirodnom rasporedu dokumenta. Zbog toga je YAML popularan izbor za konfiguracijske datoteke (Kubernetes manifesti, radni tijekovi GitHub Actions, Docker Compose), dok JSON dominira API korisnim opterećenjem.

Pretvaranje YAML-a u JSON obično znači odustajanje od YAML-ovih dodataka prilagođenih ljudima u zamjenu za format koji strojevi lakše analiziraju i koji je lingua franca HTTP API-ja. Komentari su izbačeni (JSON nema nijedan). Reference sidra rastavljaju se u svoje referentne vrijednosti. Višeredni nizovi sažimaju se u standardne JSON nizove s ugrađenim novim redovima.

Ovaj pretvarač analizira YAML koristeći js-yaml, najčešće korištenu YAML biblioteku u JavaScriptu. Izlaz se generira pomoću JSON.stringify s neobaveznim uvlačenjem. Konverzija obrađuje svu standardnu ​​YAML 1.2 sintaksu uključujući stil tijeka, blok stil, skalare, sekvence, preslikavanja, sidra, pseudonime i standardne vrste oznaka.

Zašto pretvoriti YAML u JSON

Većina API-ja i mnoga programska okruženja očekuju JSON. Konfiguracijske datoteke napisane u YAML-u potrebno je pretvoriti u JSON prilikom integracije s kodom ili uslugama koje prihvaćaju samo JSON. Alati za JSON također su bogatiji: jq, JSON Path, JSON Schema i široki ekosustav validatora i transformatora pretpostavljaju JSON unos.

JSON je također nedvosmislen na način na koji YAML nije. Fleksibilnost YAML-a stvara iznenađenja pri raščlanjivanju — nizovi kao što je 'no' raščlanjivanje kao Boolean false u YAML 1.1, raščlanjivanje nizova verzija kao float, pogreške u uvlačenju proizvode tihe strukturne promjene. Pretvaranje u JSON zamrzava podatke u manje dvosmislen oblik.

Kako koristiti

Zalijepite YAML, nabavite JSON.

  1. Dodajte svoj YAML: Zalijepite YAML tekst u područje unosa ili ispustite .yml/.yaml datoteku. js-yaml prihvaća punu sintaksu YAML 1.2.
  2. pretvoriti: js-yaml analizira YAML u JavaScript objekt, a JSON.stringify ga serijalizira uvlačenjem od dva razmaka. Komentari su izbačeni, sidra su razriješena, a posebne YAML vrste (vremenske oznake, binarni podaci) pretvaraju se u prikaze kompatibilne s JSON-om.
  3. Pregledajte rezultat: Potvrdite da JSON struktura odgovara onome što ste očekivali. Usporedite s izvornim YAML-om kako biste uočili sva mjesta na kojima je YAML-ovo opušteno upisivanje proizvelo neočekivane JSON vrijednosti.
  4. Preuzmite ili kopirajte: Spremite kao .json ili kopirajte u međuspremnik. Izlaz je važeći JSON koji može koristiti bilo koji JSON parser.

Uobičajeni slučajevi upotrebe

Tehnički detalji

js-yaml implementira YAML 1.2 s opcijskom podrškom za YAML 1.1 hirove (problem 'no'-as-false, oktalni brojevi bez prefiksa 0o). Parser proizvodi stablo JavaScript objekata koristeći izvorne tipove: brojeve, nizove, booleove vrijednosti, null, nizove i obične objekte.

JSON.stringify serijalizira stablo objekata u JSON. Izborno uvlačenje proizvodi lijepo ispisan ispis; bez njega rezultat je kompaktni jednoredni JSON. Posebne vrijednosti (NaN, Infinity, nedefinirano) nisu važeći JSON; pretvarač ih prisiljava na nulu gdje su prisutni.

Rubni slučajevi: YAML vremenske oznake postaju ISO-8601 nizovi u JSON-u. YAML binarni podaci (kodirani base64) postaju niz. Sidra i pseudonimi se u JSON-u pretvaraju u duplicirane vrijednosti jer JSON nema referentnu sintaksu.

Najbolji primjeri iz prakse

Često postavljana pitanja

Mijenja li se sadržaj pretvaranjem YAML-a u JSON?
Sadržaj je sačuvan što je točnije moguće. Međutim, neke značajke specifične za format možda nemaju izravne ekvivalente, pa se mogu pojaviti manje razlike u formatiranju.
Zašto pretvoriti podatke u JSON format?
JSON je standardni format podataka za web API-je i JavaScript aplikacije. Čitljiv je čovjeku, široko ga podržavaju programski jezici i ima jednostavniju sintaksu od XML-a.
Obrađuje li pretvarač ugniježđene ili složene YAML strukture?
da Alat ispravno analizira ugniježđene objekte, nizove i sve standardne YAML tipove podataka, čuvajući punu strukturu podataka u JSON izlazu.
Je li ova konverzija sigurna i privatna?
da Sva se obrada odvija lokalno u vašem pregledniku. Vaši podaci nikada ne napuštaju vaš uređaj — nema prijenosa na poslužitelj, nema obrade u oblaku, nema prikupljanja podataka.
Hoće li moj YAML povratno putovati čisto?
Strukturno da ako ponovno pošaljete JSON natrag u YAML. Komentari i struktura sidra su izgubljeni; sirove vrijednosti su sačuvane.
Jesu li moji podaci učitani na poslužitelj?
Ne. js-yaml radi u vašem pregledniku.
Koja je najveća veličina?
Do 50 MB. js-yaml trenutno obrađuje tipične konfiguracijske datoteke; vrlo velikom YAML-u može biti potrebno dosta vremena za analizu.
Podržava li YAML s više dokumenata?
YAML podržava više dokumenata u jednoj datoteci odvojenih znakom ---. Pretvarač prema zadanim postavkama obrađuje prvi dokument; za rukovanje s više dokumenata, najprije podijelite YAML.