Salt la conținutul principal
LibraTool logoLibraTool

Convertor YAML în JSON — gratuit

Convertește YAML în JSON și JSON în YAML în ambele direcții. Lipește în oricare format și obține rezultatul convertit instant — fără încărcare pe server.

Funcționează offline odată încărcat
Ieșire JSON
Ieșirea va apărea aici…

Utilizări frecvente

  • Convertiți YAML în JSON pentru manifeste KubernetesConvertiți YAML Kubernetes în JSON (sau înapoi) pentru instrumente, scripturi de validare sau aplicare directă prin API.
  • Conversie Docker Compose YAML / JSONConvertiți docker-compose.yml în JSON pentru inspecție sau înapoi în YAML după modificări programmatice.
  • Conversie configurație conducte CI/CDConvertiți GitHub Actions, GitLab CI, CircleCI și alte configurații de conducte între formate YAML și JSON.
  • Conversie fișier de configurare aplicațieConvertiți fișierele de configurare ale aplicației între YAML și JSON — util la schimbarea cadrelor de lucru sau la partajarea config-urilor între instrumente.
  • Conversie specificație OpenAPI / SwaggerConvertiți specificațiile OpenAPI 3.x sau Swagger 2.0 API între formate YAML și JSON. Ambele formate sunt valide și interschimbabile.

Cum funcționează

Ambele direcții de conversie — YAML la JSON și JSON la YAML — rulează în întregime în browser-ul tău folosind un parser și emițător scrise manual, construite în pagină, fără bibliotecă YAML terță parte și niciun server implicat. Logica trăiește într-un singur modul TypeScript (lib/yamljson.ts) care gestionează mapări, secvențe, scalari, șiruri citate, și eliminarea comentariilor inline.

  1. 1
    Intrarea este preprocesată linie cu linie
    Pentru intrarea YAML, parserul împarte textul în linii, elimină comentariile inline (urmărind starea ghilimelelor pentru a evita eliminarea # din interiorul șirurilor), măsoară adâncimea de indentare, și elimină liniile goale — construind o listă structurată de jetoane înainte ca orice parsare să înceapă.
  2. 2
    Un parser recursiv-descendent construiește arborele de date
    Parserul parcurge lista de jetoane folosind nivelul de indentare pentru a determina structura. Recunoaște elemente de secvență (- valoare), chei de mapare (cheie: valoare), și blocuri imbricate. Scalarii trec printr-un pas de constrângere tipizat care gestionează null, booleeni, întregi (respingând valori cu zero inițial precum 007 pentru a evita coruperea silențioasă a datelor), și numere zecimale — cu un mod opțional care păstrează cuvinte-simple YAML 1.1 precum yes, no, on, și off ca șiruri mai degrabă decât să le convertească la booleeni.
  3. 3
    Funcțiile YAML nesuportate sunt marcate, nu eliminate silențios
    Înainte de a emite ieșirea, unealta scanează pentru ancore (&nume), aliasuri (*nume), chei de îmbinare (<<:), scalari bloc (| și >), marcatori multi-document (---), și chei de mapare duplicate. Oricare din acestea declanșează un avertisment vizibil mai degrabă decât să producă JSON subtil greșit.
  4. 4
    JSON este serializat sau YAML este emis, apoi făcut disponibil
    Pentru YAML→JSON, valoarea parsată este transmisă către JSON.stringify cu indentarea aleasă de tine (2 spații, 4 spații, tab, sau minificat). Pentru JSON→YAML, un emițător personalizat parcurge valoarea JavaScript parsată și produce YAML indentat, citând scalari șir doar când este necesar (de exemplu, valori care conțin :, #, sau arată ca cuvinte rezervate). Ieșirea apare instant pe măsură ce scrii și poate fi copiată sau descărcată.

Instrumente similare

Întrebări frecvente