YAML to JSON konverter
Gyors és biztonságos YAML-JSON konvertálás. Tökéletes konfigurációs fájlokhoz és adatelemzéshez.
Gyors és biztonságos YAML-JSON konvertálás. Tökéletes konfigurációs fájlokhoz és adatelemzéshez.
A YAML és a JSON egymással szorosan összefüggő formátumok – a JSON technikailag a YAML 1.2 szigorú részhalmaza –, és a köztük lévő átalakítás általában egyszerű. A YAML olyan emberbarát funkciókat ad hozzá, amelyek hiányoznak a JSON-ból: megjegyzések, többsoros karakterláncok menekülés nélkül, horgony- és álnévhivatkozások, rugalmasabb idézet és behúzáson alapuló szerkezet, amely hasonlít a természetes dokumentumelrendezéshez. Emiatt a YAML a konfigurációs fájlok (Kubernetes manifest, GitHub Actions munkafolyamatok, Docker Compose) népszerű választása, míg a JSON uralja az API hasznos terheit.
A YAML JSON-ra konvertálása általában azt jelenti, hogy lemondunk a YAML emberbarát extráiról, cserébe egy olyan formátumért, amelyet a gépek könnyebben értelmeznek, és ez a HTTP API-k nyelve. A megjegyzések el lesznek vetve (a JSON-ban nincs). A horgonyhivatkozások a referenciaértékeikre vannak felbontva. A többsoros karakterláncok szabványos JSON-karakterláncokká tömörülnek beágyazott újsorokkal.
Ez a konverter a YAML-t a js-yaml segítségével elemzi, amely a JavaScript legszélesebb körben használt YAML-könyvtára. A kimenet a JSON.stringify használatával jön létre, opcionális behúzással. A konverzió kezeli az összes szabványos YAML 1.2 szintaxist, beleértve a folyamatstílust, a blokkstílust, a skalárokat, a sorozatokat, a leképezéseket, a horgonyokat, az álneveket és a szabványos címketípusokat.
A legtöbb API és sok programozási környezet elvárja a JSON-t. A YAML-ben írt konfigurációs fájlokat JSON-ba kell konvertálni, ha olyan kóddal vagy szolgáltatásokkal integrálják, amelyek csak a JSON-t fogadják el. A JSON-eszközök is bőségesebbek: a jq, a JSON-útvonal, a JSON-séma, valamint az érvényesítők és transzformátorok széles ökoszisztémája egyaránt feltételezi a JSON-bemenetet.
A JSON olyan szempontból is egyértelmű, hogy a YAML nem az. A YAML rugalmassága értelmezési meglepetéseket okoz – a YAML 1.1-ben a „nem” logikai hamis értelmezés, a verziókarakterláncok lebegésként történő elemzése, a behúzási hibák, amelyek csendes szerkezeti változásokat okoznak. A JSON-ba való konvertálás lefagyasztja az adatokat egy kevésbé egyértelmű formába.
Illessze be a YAML-t, szerezze be a JSON-t.
A js-yaml a YAML 1.2-t valósítja meg a YAML 1.1 furcsaságok opcionális támogatásával (a „nem”-as-false probléma, oktális számok 0o előtag nélkül). Az elemző JavaScript objektumfát hoz létre natív típusok használatával: számok, karakterláncok, logikai értékek, null, tömbök és egyszerű objektumok.
A JSON.stringify szerializálja az objektumfát JSON-ba. Az opcionális behúzás szép nyomatokat eredményez; e nélkül az eredmény egy kompakt egysoros JSON. A speciális értékek (NaN, Infinity, undefined) nem érvényesek JSON; a konverter nullára kényszeríti őket, ahol jelen vannak.
Edge esetek: A YAML időbélyegek ISO-8601 karakterláncokká válnak a JSON-ban. A YAML bináris adatok (base64 kódolású) karakterláncokká válnak. A horgonyok és az álnevek ismétlődő értékekké vannak feloldva a JSON-ban, mivel a JSON-nak nincs referencia szintaxisa.