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

JSON rezultat

Cum se folosește: JSON în YAML

  1. Lipește JSON în caseta din stânga sau deschide un fișier .json.
  2. YAML-ul apare în dreapta pe măsură ce scrii.
  3. 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.
  4. Alege un stil de ghilimele și bifează Sortează cheile dacă vrei ordine alfabetică.
  5. 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ă cu yes, on, off, y și n. YAML 1.2 tratează ca booleene doar true și false.
  • Numere octale: 0755 este octal în 1.1, dar zecimal simplu în 1.2, care folosește 0o755. Pune permisiunile de fișiere între ghilimele, pentru siguranță.
  • Numere sexagesimale: în 1.1, 22:30 poate 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?
Da. Orice document JSON este YAML 1.2 valid, iar YAML-ul generat se parsează înapoi în exact aceleași date. Poți verifica apăsând Inversează.
De ce unele șiruri sunt între ghilimele și altele nu?
Cu Doar când e nevoie, ghilimelele sunt adăugate doar acolo unde o valoare fără ghilimele și-ar schimba sensul, de exemplu 'yes', '123' sau șiruri cu caractere speciale. Restul rămâne simplu, pentru lizibilitate.
Pot adăuga comentarii în rezultat?
JSON nu are comentarii, deci nu există nimic de convertit, dar poți adăuga # comentarii în YAML după ce îl copiezi.
Se schimbă ordinea cheilor?
Nu. Cheile își păstrează ordinea din JSON, dacă nu bifezi Sortează cheile.
Sunt datele mele private?
Da. Convertorul rulează în browser și nu face nicio cerere de rețea cu datele tale.

Instrumente similare