UltKit

Pretvornik YAML v JSON

Pretvorite konfiguracije YAML, specifikacije OpenAPI in datoteke CI v JSON, ki ga prebere vsak razčlenjevalnik, API ali validator shem. Naložite datoteke .yaml ali .yml in prenesite zamaknjen JSON.

Pretvornik podatkov

ali spustite datoteke CSV, TSV, TXT … sem ·

Največ 95 MB na datoteko· Do 20 datotek· Izbrisano po 30 minutah

Izhod

Datoteke se obdelajo na naših strežnikih in izbrišejo po 30 minutah.

Kako uporabljati to orodje

  1. 1

    Naložite datoteke YAML

    Dodajte datoteke .yaml ali .yml, do 20 hkrati in vsaka do 95 MB. Izvirna imena ostanejo; datoteke JSON dobijo ista imena z novo končnico.

  2. 2

    Izberite zamaknjen ali strnjen zapis

    Pregledna oblika je vklopljena, zato je JSON zamaknjen za lažje branje in pregled kode. Izklopite jo pod Napredne nastavitve, če želite datoteko v eni vrstici za vstavljanje v telo zahtevka.

  3. 3

    Pretvorite in uporabite

    Pritisnite Pretvori v JSON, prenesite datoteko in jo predajte API-ju, validatorju ali skripti, ki jo je potrebovala.

Zakaj razvijalci pretvarjajo YAML v JSON

YAML je napisan za ljudi: zamiki namesto zavitih oklepajev, komentarji, brez narekovajev okoli večine nizov. Zato je to format manifestov Kubernetes, delovnih tokov GitHub Actions, datotek Docker Compose in specifikacij OpenAPI, ki jih ekipe urejajo ročno. JSON je napisan za programe. Vsak jezik ima razčlenjevalnik JSON v standardni knjižnici, brskalniki ga razčlenijo izvorno, večina API-jev HTTP pa sprejme samo to.

Pretvorba se zato zgodi na meji. Inženir platforme spelj1e manifest skozi jq, ki bere samo JSON. Razvijalec zaledja pošlje specifikacijo OpenAPI generatorju kode, ki želi JSON. Tester naloži testne podatke v YAML v testni nabor JavaScript. V vsakem primeru YAML ostane vir resnice, JSON pa je artefakt gradnje. Za celoten imenik virov ali izvozov namesto konfiguracij XML v JSON na enak način obravnava starejši označevalni format.

Kako sta se YAML in JSON razvijala skupaj

Clark Evans je prvič predlagal YAML
2001
YAML 1.2 je JSON naredil za podmnožico YAML
2009
RFC 8259, veljavni standard JSON
2017
Objavljena revizija YAML 1.2.2
2021

Kaj se v JSON zgodi z lastnostmi, ki jih ima le YAML

Sidro (&defaults) in njegovi aliasi (*defaults) omogočajo, da YAML ponovno uporabi blok. JSON nima sklicev, zato je vsak alias zamenjan s polno kopijo sidranega bloka.

  • JSON je lahko opazno daljši od YAML
  • Ključi za združevanje (<<: *defaults) so razširjeni enako
Majhna konfiguracija YAML kot pregledno oblikovan JSON
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Dejstva o formatih YAML in JSON

YAML

YAML

YAML (»YAML Ain't Markup Language«) je človeku prijazen podatkovni format, prvič izdan leta 2001. Namesto oklepajev uporablja zamike, podpira komentarje in je nadmnožica JSON. Široko se uporablja za konfiguracijo v Docker Compose, Kubernetes, GitHub Actions in številnih aplikacijah. Zaradi odvisnosti od presledkov ga je lahko pokvariti z enim napačno postavljenim presledkom, nekatere vrednosti, na primer »no« ali datumi, pa se lahko razlagajo nepričakovano.

Stiskanje
–
Prosojnost
–
Animacija
–
Uvedeno
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Pretvornik YAML

JSON

JavaScript Object Notation

JSON je lahek besedilni format za strukturirane podatke, ki ga je v zgodnjih letih 2000 populariziral Douglas Crockford, standardizirana pa sta ga RFC 8259 in ECMA-404. Objekte, tabele, nize, števila, logične vrednosti in null predstavlja s preprosto, berljivo sintakso. Je privzeti format za spletne API-je, konfiguracijske datoteke in izmenjavo podatkov med aplikacijami v skoraj vseh programskih jezikih. Nima vgrajenih komentarjev, datumov ali shem, velikih gnezdenih datotek pa brez pregledovalnika ni lahko brati.

Stiskanje
–
Prosojnost
–
Animacija
–
Uvedeno
2001 · Douglas Crockford
Pretvornik JSON

YAML v JSON pretvarjajo, kadar mora konfiguracija ali specifikacija, napisana za ljudi, napajati stroj: zahtevek API, validator sheme ali orodje brez razčlenjevalnika YAML.

Pogosta vprašanja o pretvorniku YAML v JSON

Zakaj pretvoriti YAML v JSON, če vsebujeta iste podatke?

Ker mnoga orodja razčlenijo samo enega od njiju. Bralniki JSON so del vsakega programskega jezika in brskalnika, YAML pa potrebuje dodatno knjižnico. Telesa zahtevkov za API-je REST, validatorji JSON Schema, jq in datoteke, kot sta package.json ali manifest.json razširitve brskalnika, pričakujejo JSON.

Kaj se zgodi s komentarji v YAML?

Izpuščeni so. RFC 8259 JSON ne predvideva sintakse za komentarje, zato vrstice, ki se začnejo z #, nimajo kam. YAML datoteko obdržite kot dokumentiran vir, JSON pa obravnavajte kot ustvarjeno kopijo, ki jo lahko kadar koli znova ustvarite.

Zakaj sta se NO ali off spremenila v false?

Razčlenjevalniki po YAML 1.1 preberejo yes, no, on in off kot logične vrednosti, zato lahko koda države NO za Norveško postane false. YAML 1.2 omejuje logične vrednosti na true in false, a vsa orodja tega ne upoštevajo. Take vrednosti v YAML dajte v narekovaje, na primer "NO", in v JSON ostanejo nizi.

Ali lahko pretvorim predlogo CloudFormation, napisano v YAML?

AWS CloudFormation sprejema oba formata, vendar kratke oznake, kot sta !Ref in !GetAtt, obstajajo samo v YAML. Predloge JSON jih zapišejo kot polne funkcije, {"Ref": "MyBucket"} ali {"Fn::GetAtt": [...]}. Pred pretvorbo kratke oznake prepišite v dolgo obliko, da bo predloga JSON veljavna.

Kako pretvorim v obratni smeri?

Uporabite JSON v YAML. To je običajna smer, kadar mora odgovor API-ja ali ustvarjena datoteka postati berljiva konfiguracijska datoteka v repozitoriju.