JSON → YAML konverter
Alakítsd a JSON-t tiszta, emberbarát YAML-lé Kuberneteshez, Docker Compose-hoz, GitHub Actionshöz vagy Ansible-hez, teljes kontrollal a behúzás, a stílus és az idézőjelek felett.
A böngésződben futNincs regisztrációNincs feltöltés
Hogyan használd: JSON → YAML
- Illessz be JSON-t a bal oldali mezőbe, vagy nyiss meg egy
.jsonfájlt. - A YAML gépelés közben megjelenik jobb oldalon.
- Válaszd ki a behúzást (2 vagy 4 szóköz) és a stílust: blokk (soronként egy kulcs) vagy flow (
{a: 1}/[x, y]) egy adott beágyazási szinttől. - Válassz idézési stílust, és jelöld be a Kulcsok rendezése opciót, ha ábécérendet szeretnél.
- Másold ki vagy töltsd le a YAML-t. Az érvénytelen JSON-t sorral, oszloppal és a valószínű okkal jelezzük.
Miért érdemes JSON-t YAML-re alakítani?
A JSON ideális gépeknek és API-knak, a YAML-t viszont az emberek könnyebben olvassák és szerkesztik: nincsenek kapcsos zárójelek, nem kötelezőek az idézőjelek, és kommentek is írhatók bele. A legtöbb infrastruktúra-eszköz, köztük a Kubernetes, a Helm, a Docker Compose, a GitHub Actions, a GitLab CI és az Ansible, YAML-ben konfigurálható, míg a kiinduló adat (API-kimenet, kubectl get -o json, Terraform state) gyakran JSON.
Blokk vagy flow stílus
A blokk stílus minden kulcsot és listaelemet külön sorba tesz, és ez a megszokott választás konfigurációs fájlokhoz. A flow stílus a JSON-hoz hasonlóan inline {} és [] jelölést használ, és tömören tartja a rövid levélstruktúrákat. A „Flow a 2. szinttől” a felső két szintet blokk stílusban tartja, a mélyebbeket pedig egy sorba írja, ami jól működik kis objektumok hosszú listáinál, például portoknál vagy környezeti változóknál.
Biztonságos idézés
Azokat a stringeket, amelyeket egy YAML-feldolgozó félreérthetne, automatikusan idézőjelbe tesszük: az olyan értékeket, mint a 'no', 'on', '1.0', 'null', a * vagy & jellel kezdődő, valamint a : részt tartalmazó stringeket. Válaszd a Mindig szimpla vagy a Mindig dupla opciót, ha a stílusútmutatód minden string idézését megköveteli.
YAML 1.1 és 1.2 buktatók
Ez a konverter a jelenlegi specifikációt, a YAML 1.2-t követi. Sok régebbi eszköz (PyYAML, a Ruby Psych, egyes Kubernetes- és Ansible-verziók) még YAML 1.1 szerint olvas, ahol a szabályok eltérnek:
- A „norvég probléma”: YAML 1.1-ben a
country: nojelentésefalse, így NorvégiaNOországkódja eltűnik. Ugyanez igaz ayes,on,off,yésnértékre. A YAML 1.2 csak atrueés afalseértéket tekinti logikai értéknek. - Oktális számok: a
07551.1-ben oktális, 1.2-ben viszont sima decimális szám, ott a0o755az oktális forma. A biztonság kedvéért tedd idézőjelbe a fájljogosultságokat. - Hatvanas számrendszerű számok: 1.1-ben a
22:30az 1350-es számként értelmeződhet. Tedd idézőjelbe az időpontokat és a portleképezéseket, például"8080:80".
A JSON → YAML irány automatikusan idézőjelbe teszi a kétértelmű stringeket ('no', 'on', 'y'), így az előállított YAML mindkét verzióban ugyanazt jelenti.
Gyakran ismételt kérdések
Veszteségmentes az átalakítás?
Miért kap egyes stringek idézőjelet, mások nem?
'yes', a '123' vagy a speciális karaktereket tartalmazó stringek esetén. Minden más az olvashatóság kedvéért idézőjel nélkül marad.Írhatok kommenteket a kimenetbe?
# comments sorokat a YAML-hez.