JSON–YAML konvertáló
Konvertálj JSON-t YAML-lé és YAML-t JSON-ná a böngésződben, horgonyok, összevonó kulcsok és többdokumentumos fájlok támogatásával. Semmi nem töltődik fel.
Hogyan használd a JSON–YAML konvertálót
- Válaszd ki az irányt: JSON → YAML vagy YAML → JSON.
- Illeszd be az adatokat, vagy kattints a Fájl megnyitása gombra egy
.json,.yamlvagy.ymlfájl betöltéséhez (legfeljebb 10 MB). - Válaszd ki a Behúzás módját (2 vagy 4 szóköz), és ha szeretnéd, a Kulcsok rendezése opciót ábécérendben.
- Kattints a Konvertálás gombra, vagy egyszerűen gépelj tovább: az eredmény automatikusan frissül. Ha a bemenet érvénytelen, a hibaüzenet megadja a probléma sorát és oszlopát.
- Másold ki vagy töltsd le az eredményt. Az Irány megfordítása visszaküldi a kimenetet a bemenetbe, hogy a másik irányba is átalakíthasd.
JSON és YAML: ugyanazok az adatok, más szintaxis
A YAML a gyakorlatban a JSON felülhalmaza: minden JSON-dokumentum olyan adatokat ír le, amelyeket a YAML ki tud fejezni, ráadásul a YAML könnyebb szintaxist ad, amelyet az embereknek egyszerűbb olvasni és szerkeszteni. Ezért íródnak a Kubernetes-manifesztek, a Docker Compose-fájlok, a GitHub Actions és GitLab CI futószalagok, az Ansible-playbookok és az OpenAPI-specifikációk általában YAML-ben, míg az API-k és a programok JSON-t cserélnek.
Ugyanazok az adatok mindkét formátumban:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
A konvertáló blokkstílusú YAML-t ír: soronként egy kulcs, kötőjeles listák és behúzott beágyazott objektumok. A hosszú karakterláncokat soha nem töri meg, a többsoros karakterláncok pedig a szó szerinti | stílust használják, hogy a sortörések pontosan megmaradjanak. Azok a karakterláncok, amelyeket a YAML egyébként más típusként olvasna, idézőjelet kapnak: a "yes", az "1.0" vagy a "null" az oda-vissza átalakítás után is karakterlánc marad. A Kulcsok rendezése minden objektum kulcsait ábécérendbe rendezi, ami megkönnyíti két konfigurációs fájl összehasonlítását.
YAML → JSON
A YAML-t a YAML 1.2 core sémájával olvassa be az eszköz, ugyanazokkal a szabályokkal, amelyeket a legtöbb modern eszköz használ:
- A
true/false, a számok és anull(vagy~) JSON-értékekké válnak; ayes,no,onésoffkarakterlánc marad, ahogy a YAML 1.2 specifikáció megköveteli. - A horgonyok és aliasok (
&base,*base) kibontásra kerülnek, a CI-fájlokban gyakori összevonó kulcsok (<<: *base) pedig támogatottak. - A
---jelekkel elválasztott több dokumentumot tartalmazó fájl JSON-tömbbé válik, dokumentumonként egy elemmel, és egy üzenet megmondja, hányat egyesített. - A megjegyzések elmaradnak, mert a JSON-ban nincsenek megjegyzések.
- A
.infés a.nanértéknek nincs JSON-megfelelője; az"Infinity"és a"NaN"karakterláncként íródnak ki.
A böngésződ védelmére a „billion laughs” típusú fájlokkal szemben, amelyekben néhány alias milliárdnyi értékre bomlik ki, az eszköz elutasítja azt a dokumentumot, amely egymillió értéknél többre bomlik ki.
Gyakori YAML-hibák
- Tabulátor a behúzáshoz: a YAML csak szóközt enged.
- Következetlen behúzás: ugyanazon lista vagy objektum elemeinek ugyanabban az oszlopban kell kezdődniük.
- Hiányzó szóköz a kettőspont után: a
key:valueegyetlen karakterlánc, akey: valueviszont kulcs-érték pár. - Idézőjel nélküli különleges karakterek: az az érték, amely
@, visszaidézőjel,*,&vagy!jellel kezdődik, vagy amely:vagy#szöveget tartalmaz, idézőjelet igényel.
Gyakori kérdések
Elküldésre kerül a fájlom egy szervernek?
Nem. A konvertálás a böngésződben fut, a konfigurációs fájljaid, titkaid vagy API-adataid soha nem hagyják el a számítógépedet.
Miért nem alakulnak logikai értékekké a „yes” és a „no”?
A YAML 1.2 óta csak a true és a false logikai érték. A régebbi YAML 1.1 elemzők a yes, no, on és off értéket is logikainak vették, ami a híres „Norvégia-problémát” okozta (az NO országkód hamisnak olvasódott). Ez az eszköz a YAML 1.2-t követi.
Megmaradnak a YAML-megjegyzések?
Nem. A JSON-ban nincsenek megjegyzések, ezért a YAML → JSON átalakításnál elvesznek. JSON → YAML átalakításkor utólag hozzáadhatsz megjegyzéseket az eredményhez.
Konvertálhatok több erőforrást tartalmazó Kubernetes-fájlt?
Igen. A --- jelekkel elválasztott minden erőforrás a JSON-tömb egy eleme lesz. Ha ezt a tömböt visszaalakítod YAML-lé, egyetlen, listát tartalmazó dokumentumot kapsz.
Megváltoztatja a konvertáló a kulcsok sorrendjét?
Nem, kivéve ha bejelölöd a Kulcsok rendezése opciót: a kulcsok a bemenetben megjelenő sorrendben maradnak. Az egyetlen kivétel magából a JavaScriptből ered: az egész számú kulcsok, például a "10" vagy a "2", előre kerülnek, növekvő sorrendben.
Kapcsolódó eszközök
- JSON formázó és validátor Ingyenes JSON formázó és validátor, amely a böngésződben szépít, tömörít és ellenőriz JSON-t, a szintaxishibákat sor és oszlop szerint jelezve.
- JSON–CSV konvertáló Konvertálj JSON-t CSV-be és CSV-t vissza JSON-ba a böngésződben. A beágyazott kulcsok oszlopokká laposodnak, az elválasztót felismeri, semmi nem töltődik fel.
- JSON–XML konvertáló Konvertálj JSON-t XML-lé és XML-t JSON-ná a böngésződben, attribútumok, ismétlődő elemek és CDATA kezelésével. Semmi nem töltődik fel szerverre.