YAML la Convertor JSON
Conversie YAML în JSON rapidă și sigură. Perfect pentru fișierele de configurare și analiza datelor.
Conversie YAML în JSON rapidă și sigură. Perfect pentru fișierele de configurare și analiza datelor.
YAML și JSON sunt formate strâns legate — JSON este din punct de vedere tehnic un subset strict al YAML 1.2 — și conversia între ele este de obicei simplă. YAML adaugă caracteristici prietenoase cu oamenii, care le lipsesc JSON: comentarii, șiruri de mai multe rânduri fără evadare, referințe de ancorare și alias, citate mai flexibile și structură bazată pe indentare care seamănă cu aspectul natural al documentului. Acest lucru face din YAML alegerea populară pentru fișierele de configurare (manifeste Kubernetes, fluxuri de lucru GitHub Actions, Docker Compose), în timp ce JSON domină încărcările utile API.
Convertirea YAML în JSON înseamnă de obicei renunțarea la extra-urile YAML prietenoase cu oamenii în schimbul unui format pe care mașinile îl analizează mai ușor și care este lingua franca a API-urilor HTTP. Comentariile sunt eliminate (JSON nu are niciunul). Referințele de ancorare sunt rezolvate în valorile lor de referință. Șirurile cu mai multe linii se restrâng la șiruri JSON standard cu linii noi încorporate.
Acest convertor analizează YAML folosind js-yaml, cea mai utilizată bibliotecă YAML din JavaScript. Ieșirea este generată folosind JSON.stringify cu indentare opțională. Conversia gestionează toată sintaxa standard YAML 1.2, inclusiv stilul de flux, stilul bloc, scalarii, secvențele, mapările, ancorele, aliasurile și tipurile de etichete standard.
Majoritatea API-urilor și multe medii de programare așteaptă JSON. Fișierele de configurare scrise în YAML trebuie convertite în JSON atunci când se integrează cu cod sau servicii care acceptă numai JSON. Instrumentele pentru JSON sunt, de asemenea, mai abundente: jq, JSON Path, JSON Schema și un ecosistem larg de validatori și transformatoare presupun toate intrarea JSON.
JSON este, de asemenea, lipsit de ambiguitate în moduri în care YAML nu este. Flexibilitatea lui YAML creează surprize de analizare - șiruri precum „nu” parsing ca boolean false în YAML 1.1, șirurile de versiune care sunt analizate ca floats, erori de indentare producând modificări structurale silențioase. Convertirea în JSON îngheață datele într-o formă mai puțin ambiguă.
Lipiți YAML, obțineți JSON.
js-yaml implementează YAML 1.2 cu suport opțional pentru ciudateniile YAML 1.1 (problema „nu” ca fals, numere octale fără prefix 0o). Analizorul produce un arbore de obiecte JavaScript folosind tipuri native: numere, șiruri, boolean, null, matrice și obiecte simple.
JSON.stringify serializează arborele de obiecte în JSON. Indentarea opțională produce rezultate destul de imprimate; fără el, rezultatul este JSON compact cu o singură linie. Valorile speciale (NaN, Infinity, undefined) nu sunt JSON valide; convertorul le constrânge să nul, acolo unde sunt prezente.
Cazuri marginale: marcajele de timp YAML devin șiruri ISO-8601 în JSON. Datele binare YAML (codificate în bază 64) devin un șir. Ancorele și aliasurile sunt rezolvate în valori duplicate în JSON, deoarece JSON nu are sintaxă de referință.