Convertor JSON în YAML
Transformă JSON în YAML curat și prietenos pentru Kubernetes, Docker Compose, GitHub Actions sau Ansible, cu control complet asupra indentării, stilului și ghilimelelor.
Rulează în browserFără înregistrareNimic nu este încărcat
Cum se folosește: JSON în YAML
- Lipește JSON în caseta din stânga sau deschide un fișier
.json. - YAML-ul apare în dreapta pe măsură ce scrii.
- Alege indentarea (2 sau 4 spații) și stilul: bloc (o cheie pe linie) sau flow (
{a: 1}/[x, y]) de la un anumit nivel de imbricare. - Alege un stil de ghilimele și bifează Sortează cheile dacă vrei ordine alfabetică.
- Copiază sau descarcă YAML-ul. JSON-ul invalid este raportat cu linia, coloana și cauza probabilă.
De ce să convertești JSON în YAML?
JSON este ideal pentru mașini și API-uri, dar YAML este mai ușor de citit și editat de oameni: fără acolade, fără ghilimele obligatorii și cu suport pentru comentarii. Majoritatea instrumentelor de infrastructură, inclusiv Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI și Ansible, sunt configurate în YAML, în timp ce datele de la care pornești (output API, kubectl get -o json, starea Terraform) sunt adesea JSON.
Stil bloc vs. flow
Stilul bloc pune fiecare cheie și element de listă pe propria linie și este alegerea convențională pentru fișierele de configurare. Stilul flow folosește {} și [] inline, ca JSON, și păstrează compacte structurile scurte de la frunze. „Flow de la nivelul 2” păstrează primele două niveluri în stil bloc și scrie inline tot ce e mai adânc, ceea ce merge bine pentru liste lungi de obiecte mici, precum porturi sau variabile de mediu.
Ghilimele sigure
Șirurile pe care un parser YAML le-ar putea interpreta greșit sunt puse automat între ghilimele: valori precum 'no', 'on', '1.0', 'null', șiruri care încep cu * sau & și șiruri care conțin : . Alege Mereu simple sau Mereu duble dacă ghidul tău de stil cere ghilimele la fiecare șir.
Capcane YAML 1.1 vs 1.2
Acest convertor urmează YAML 1.2, specificația actuală. Multe instrumente mai vechi (PyYAML, Psych din Ruby, unele versiuni Kubernetes și Ansible) citesc încă YAML 1.1, unde regulile diferă:
- Problema Norvegiei: în YAML 1.1,
country: noînseamnăfalse, așa că codul de țară al Norvegiei,NO, dispare. La fel se întâmplă cuyes,on,off,yșin. YAML 1.2 tratează ca booleene doartrueșifalse. - Numere octale:
0755este octal în 1.1, dar zecimal simplu în 1.2, care folosește0o755. Pune permisiunile de fișiere între ghilimele, pentru siguranță. - Numere sexagesimale: în 1.1,
22:30poate fi parsat ca numărul 1350. Pune între ghilimele orele și mapările de porturi precum"8080:80".
Direcția JSON → YAML pune automat între ghilimele șirurile ambigue ('no', 'on', 'y'), așa că YAML-ul produs se citește la fel în ambele versiuni.
Întrebări frecvente
Este conversia fără pierderi?
De ce unele șiruri sunt între ghilimele și altele nu?
'yes', '123' sau șiruri cu caractere speciale. Restul rămâne simplu, pentru lizibilitate.Pot adăuga comentarii în rezultat?
# comentarii în YAML după ce îl copiezi.