YAML to JSON-muunnin
Nopea ja turvallinen YAML-JSON-muunnos. Täydellinen asetustiedostoille ja tietojen analysointiin.
Nopea ja turvallinen YAML-JSON-muunnos. Täydellinen asetustiedostoille ja tietojen analysointiin.
YAML ja JSON ovat läheisesti toisiinsa liittyviä formaatteja – JSON on teknisesti YAML 1.2:n tiukka osajoukko – ja muuntaminen niiden välillä on yleensä yksinkertaista. YAML lisää ihmisystävällisiä ominaisuuksia, joita JSON:lta puuttuu: kommentit, moniriviset merkkijonot ilman pakotteita, ankkuri- ja aliasviittaukset, joustavampi lainaus ja sisennykseen perustuva rakenne, joka muistuttaa asiakirjan luonnollista asettelua. Tämä tekee YAML:sta suositun valinnan määritystiedostoille (Kubernetes-luettelot, GitHub Actions -työnkulut, Docker Compose), kun taas JSON hallitsee API-hyötykuormia.
YAML:n muuntaminen JSONiksi tarkoittaa yleensä YAML:n ihmisystävällisistä lisäominaisuuksista luopumista vastineeksi formaatista, jota koneet jäsentävät helpommin ja joka on HTTP-sovellusliittymien lingua franca. Kommentit jätetään pois (JSON:lla ei ole yhtään). Ankkuriviittaukset on jaettu referenttiarvoihinsa. Moniriviset merkkijonot kutistuvat tavallisiksi JSON-merkkijonoiksi, joissa on upotettu rivinvaihto.
Tämä muunnin jäsentää YAML:n käyttämällä js-yaml, JavaScriptin yleisimmin käytettyä YAML-kirjastoa. Tulos luodaan käyttämällä JSON.stringifyta valinnaisen sisennyksen kanssa. Muunnos käsittelee kaikkia YAML 1.2:n vakiosyntaksia, mukaan lukien vuotyyli, lohkotyyli, skalaarit, sekvenssit, kartoitukset, ankkurit, aliakset ja vakiotunnistetyypit.
Useimmat API:t ja monet ohjelmointiympäristöt odottavat JSON:ia. YAML-kielellä kirjoitetut määritystiedostot on muunnettava JSON-muotoon integroitaessa koodia tai palveluita, jotka hyväksyvät vain JSONin. JSON-työkaluja on myös runsaampi: jq, JSON Path, JSON Schema ja laaja validaattorien ja muuntajien ekosysteemi kaikki olettavat JSON-syötteen.
JSON on myös yksiselitteinen tavalla, jolla YAML ei ole. YAML:n joustavuus luo jäsennysyllätyksiä - merkkijonot, kuten "ei" jäsennys boolen epätosi YAML 1.1:ssä, versiomerkkijonojen jäsentäminen kelluvina, sisennysvirheet tuottavat hiljaisia rakennemuutoksia. Muuntaminen JSON-muotoon jäädyttää tiedot vähemmän moniselitteiseen muotoon.
Liitä YAML, hanki JSON.
js-yaml toteuttaa YAML 1.2:n valinnaisella tuella YAML 1.1:n omituisuuksille (ei-as-false-ongelma, oktaaliluvut ilman 0o-etuliitettä). Jäsentäjä tuottaa JavaScript-objektipuun käyttämällä natiivityyppejä: numeroita, merkkijonoja, loogisia arvoja, nolla-arvoja, taulukoita ja tavallisia objekteja.
JSON.stringify sarjoittaa objektipuun JSON-muotoon. Valinnainen sisennys tuottaa kauniin tulosteen; ilman sitä tuloksena on kompakti yksirivinen JSON. Erikoisarvot (NaN, Infinity, undefined) eivät ole kelvollisia JSON; muunnin pakottaa ne nollaksi, jos niitä on.
Reunatapaukset: YAML-aikaleimoista tulee ISO-8601-merkkijonoja JSONissa. YAML-binääritiedoista (base64-koodattu) tulee merkkijono. Ankkurit ja aliakset ratkaistaan JSON-arvojen kaksoiskappaleiksi, koska JSONilla ei ole viitesyntaksia.