Převod JSON na YAML
Konverze konfiguračních souborů JSON do formátu YAML mění pevné programové datové struktury na přehledné dokumenty, které administrátorům systémů mnohem usnadňují úpravy.
Porovnání formátů a technické specifikace
| Specifikace | JSON | YAML |
|---|---|---|
| MIME typ | application/ | text/ |
| Typ | strukturovaný datový objekt | serializace dat čitelná pro člověka |
| Komprese | žádná (textový proud) | žádná (text UTF-8) |
| Standardní specifikace | IETF RFC 8259 / ECMA-404 | Specifikace YAML 1.2 |
| Hlavička souboru (Magic bytes) | 7B (\{) or 5B (\[) JSON root delimiter | 2D 2D 2D (--- YAML document start marker) or key: value |
Přehled formátu a použití
Manifesty Kubernetes, playbooky Ansible a řada souborů Docker Compose používají konfiguraci YAML. Převeďte JSON, pokud cílový nástroj očekává YAML, a před použitím souboru ověřte požadované schéma a verzi API.
Technické specifikace a přehled kodeků
Konfigurace JSON používá typ MIME application/json a představuje data jako strukturovaný textový proud s použitím nekomprimovaných znaků UTF-8 nebo ASCII. Vyznačuje se přísnými pravidly pro tokenizaci, která vyžadují uvozovky pro všechny klíče a řetězcové hodnoty. Konfigurace YAML používá typ MIME application/yaml a funguje jako lidsky čitelný jazyk pro serializaci dat. Žádný z formátů nepoužívá binární hlavičky magických bajtů, místo toho spoléhá na motory pro analýzu textu. Protože oba formáty podporují stejné základní datové typy, jako jsou řetězce, čísla, booleovské hodnoty, pole a mapy, konverze zachovává všechny datové hodnoty beze změny.
Kompatibilita s operačními systémy a prohlížeči
Soubory JSON a YAML jsou textové formáty kompatibilní se všemi moderními operačními systémy včetně Windows, macOS, Linux, iOS a Android. Moderní webové prohlížeče dokážou číst oba formáty nativně jako prostý text, i když ke zpracování YAML do podoby použitelných objektů vyžadují knihovny JavaScriptu, jako je js-yaml. Podpora se také liší podle aplikace, zařízení, operačního systému a jeho verze.
Užitečné informace
Po převodu JSON do YAML vždy zkontrolujte odsazení. Kombinace tabulátorů a mezer v souboru YAML způsobí chyby při analýze v konfiguračním parseru.
Často kladené otázky
Jak převést konfiguraci JSON do YAML bez ztráty kvality?
Převodník mapuje podporované hodnoty JSON do YAML, parsery YAML však mohou skalární hodnoty interpretovat odlišně a některé funkce YAML nemají v JSON ekvivalent. Výsledek ověřte pomocí parseru cílové aplikace, zejména u dat, logických hodnot a čísel.
Jaký je rozdíl mezi konfigurací JSON a YAML?
JSON je přísný formát pro výměnu dat, který k definování objektů a polí používá složené závorky, hranaté závorky a dvojité uvozovky. YAML je nadmnožinou formátu JSON, který využívá odsazení, zalomení řádků a volitelné pomlčky k vytvoření přehlednější a čitelnější struktury dokumentu.