YAML to JSON-muundur
Kiire ja turvaline YAML-i teisendamine JSON-iks. Ideaalne konfiguratsioonifailide ja andmete analüüsimiseks.
Kiire ja turvaline YAML-i teisendamine JSON-iks. Ideaalne konfiguratsioonifailide ja andmete analüüsimiseks.
YAML ja JSON on omavahel tihedalt seotud vormingud – JSON on tehniliselt YAML 1.2 range alamhulk – ja nende vahel teisendamine on tavaliselt lihtne. YAML lisab inimsõbralikke funktsioone, mis JSON-il puuduvad: kommentaarid, mitmerealised stringid ilma põgenemiseta, ankru- ja aliaseviited, paindlikum tsiteerimine ja taandepõhine struktuur, mis sarnaneb dokumendi loomuliku paigutusega. See muudab YAML-i populaarseks valikuks konfiguratsioonifailide jaoks (Kubernetese manifestid, GitHubi toimingute töövood, Docker Compose), samas kui JSON domineerib API kasulikes koormustes.
YAMLi teisendamine JSON-iks tähendab tavaliselt YAMLi inimsõbralikest lisadest loobumist vastutasuks vormingu vastu, mida masinad hõlpsamini sõeluvad ja mis on HTTP API-de lingua franca. Kommentaaridest loobutakse (JSON-il pole ühtegi). Ankruviited lahendatakse nende referentväärtusteks. Mitmerealised stringid ahendavad standardseteks JSON-stringideks koos manustatud reavahetustega.
See muundur parsib YAMLi, kasutades js-yamli, JavaScripti kõige laialdasemalt kasutatavat YAML-i teeki. Väljund genereeritakse JSON.stringify abil koos valikulise taandega. Teisendus käsitleb kogu standardset YAML 1.2 süntaksit, sealhulgas voo stiili, ploki stiili, skalaare, jadasid, vastendusi, ankruid, varjunimesid ja standardseid silditüüpe.
Enamik API-sid ja paljud programmeerimiskeskkonnad eeldavad JSON-i. YAML-is kirjutatud konfiguratsioonifailid tuleb teisendada JSON-iks, kui integreeritakse koodi või teenustega, mis aktsepteerivad ainult JSON-i. JSON-i tööriistad on samuti rikkalikumad: jq, JSON Path, JSON-skeem ning lai valik validaatorite ja trafode ökosüsteem eeldavad kõik JSON-sisendit.
JSON on üheselt mõistetav ka selles, kuidas YAML seda pole. YAML-i paindlikkus tekitab parsimisel üllatusi – stringid, nagu 'ei', YAML 1.1-s parsimine tõeväärtuse valena, versioonistringide sõelumine ujukitena, taandevead, mis toovad kaasa vaikseid struktuurimuutusi. JSON-i teisendamine külmutab andmed vähem mitmetähenduslikuks vormiks.
Kleepige YAML, hankige JSON.
js-yaml rakendab YAML 1.2 koos valikulise toega YAML 1.1 veidrustele (ei-vale probleem, kaheksandarvud ilma 0o eesliiteta). Parser loob JavaScripti objektipuu, kasutades natiivseid tüüpe: numbrid, stringid, tõeväärtused, null, massiivid ja tavalised objektid.
JSON.stringify serialiseerib objektipuu JSON-iks. Valikuline taane annab ilusa trükise; ilma selleta on tulemuseks kompaktne üherealine JSON. Eriväärtused (NaN, Infinity, undefined) ei ole kehtivad JSON; muundur sunnib need nulli, kui need on olemas.
Äärejuhtumid: YAML-i ajatemplid muutuvad JSON-is ISO-8601 stringideks. YAML-i binaarandmed (base64-kodeeringuga) muutuvad stringiks. Ankrud ja varjunimed lahendatakse JSON-is korduvateks väärtusteks, kuna JSON-il puudub viitesüntaks.