Convertor YAML în JSON
Lipește YAML (manifeste Kubernetes, Docker Compose, configurații CI) și primești instant JSON curat. Erorile arată linia exactă, cu un indicator.
Rulează în browserFără înregistrareNimic nu este încărcat
Cum se folosește: YAML în JSON
- Lipește YAML în caseta din stânga sau deschide un fișier
.yaml/.yml. - JSON-ul apare în dreapta pe măsură ce scrii. Alege 2 spații, 4 spații sau tab-uri pentru rezultat.
- Bifează Sortează cheile pentru a ordona cheile alfabetic. Ajută la compararea configurațiilor.
- Dacă YAML-ul este invalid, bara de stare arată linia și coloana, iar liniile problematice apar dedesubt cu un marcaj
^. - Copiază sau descarcă JSON-ul ori apasă Inversează pentru a-l converti înapoi în YAML.
Cum se mapează YAML în JSON
JSON este un subset al YAML 1.2, așa că fiecare mapare YAML devine un obiect JSON, fiecare secvență devine un array, iar scalarii devin șiruri, numere, valori booleene sau null. Funcțiile exclusive YAML sunt rezolvate în timpul conversiei:
- Comentariile (
# …) sunt eliminate, deoarece JSON nu are comentarii. - Ancorele și aliasurile (
&base,*base,<<: *base) sunt expandate în copii complete. - Timestamp-urile precum
2024-01-02devin șiruri ISO 8601. - Șirurile pe mai multe linii (blocuri literale
|și pliate>) devin șiruri obișnuite cu\n.
YAML cu mai multe documente
Un singur fișier poate conține mai multe documente YAML separate prin ---, cum este obișnuit în manifestele Kubernetes. JSON nu are un echivalent, așa că convertorul returnează un array JSON cu câte un element pentru fiecare document și semnalează asta în bara de stare. Un --- singur la final este ignorat.
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 YAML-ul meu încărcat undeva?
De ce YAML-ul meu eșuează cu „bad indentation”?
-) sunt indentate consecvent sub cheia părinte.Ce se întâmplă cu comentariile YAML?
De ce <code>no</code> a rămas șir?
true/false sunt booleene. Parserele mai vechi YAML 1.1 ar transforma no, yes, on și off în booleene („problema Norvegiei”).Pot converti un manifest Kubernetes cu mai multe resurse?
--- devine un element al array-ului JSON rezultat, gata pentru jq sau kubectl apply -f -, care acceptă și liste JSON.