Preskoči na glavni sadržaj

YAML u JSON pretvarač — besplatno

Pretvorite YAML u JSON i JSON u YAML u oba smjera. Zalijepite u bilo kojem formatu i odmah dobijte konvertirani izlaz — bez prijenosa na server.

Radi offline nakon učitavanja
JSON izlaz
Izlaz će se pojaviti ovdje…

Uobičajene namjene

  • Pretvori YAML u JSON za Kubernetes manifestePretvori Kubernetes YAML u JSON (ili natrag) za alate, skripte za provjeru ili primjenu preko API-ja direktno.
  • Docker Compose YAML / JSON konverzijaPretvori docker-compose.yml u JSON za pregled ili natrag na YAML nakon programskih izmjena.
  • CI/CD konfiguracija cjevovoda konverzijaPretvori GitHub Actionse, GitLab CI, CircleCI i druge konfiguracije cjevovoda između YAML i JSON formata.
  • Konverzija datoteke konfiguracije aplikacijePretvori datoteke konfiguracije aplikacije između YAML i JSON — korisno pri prebacivanju okvira ili dijeljenju konfiguracija između alata.
  • OpenAPI / Swagger konverzija specifikacijePretvori OpenAPI 3.x ili Swagger 2.0 specifikacije API-ja između YAML i JSON formata. Oba formata su valjana i zamjenjiva.

Kako funkcionira

Oba smjera pretvorbe — YAML u JSON i JSON u YAML — rade u potpunosti u vašem pregledniku koristeći ručno napisan parser i emiter ugrađen u stranicu, bez YAML biblioteke treće strane i bez uključenog poslužitelja. Logika živi u jednom TypeScript modulu (lib/yamljson.ts) koji obrađuje mapiranja, nizove, skalare, citirane nizove i uklanjanje ugrađenih komentara.

  1. 1
    Unos se predobrađuje redak po redak
    Za YAML unos, parser dijeli tekst u retke, uklanja ugrađene komentare (prateći stanje citata kako ne bi uklonio # unutar nizova), mjeri dubinu uvlačenja i odbacuje prazne retke — gradeći strukturirani popis tokena prije bilo kakvog raščlanjivanja.
  2. 2
    Rekurzivni silazni parser gradi stablo podataka
    Parser prolazi popis tokena koristeći razinu uvlačenja za određivanje strukture. Prepoznaje stavke niza (- vrijednost), ključeve mapiranja (ključ: vrijednost) i ugniježđene blokove. Skalari prolaze kroz tipizirani korak prisile koji obrađuje null, boolean, cijele brojeve (odbacujući vrijednosti s vodećom nulom poput 007 kako bi izbjegao tiho oštećenje podataka) i decimalne brojeve — s opcionalnim načinom koji čuva YAML 1.1 gole riječi poput yes, no, on i off kao nizove umjesto pretvaranja u boolean.
  3. 3
    Nepodržane YAML značajke se označavaju, ne tiho odbacuju
    Prije emitiranja izlaza, alat skenira sidra (&naziv), aliase (*naziv), ključeve spajanja (<<:), skalare bloka (| i >), oznake više dokumenata (---) i duplicirane ključeve mapiranja. Bilo koji od njih pokreće vidljivo upozorenje umjesto proizvodnje suptilno pogrešnog JSON-a.
  4. 4
    JSON se serijalizira ili YAML se emitira, zatim postaje dostupan
    Za YAML→JSON, raščlanjena vrijednost prosljeđuje se JSON.stringify s vašim odabranim uvlačenjem (2 razmaka, 4 razmaka, tab ili minificirano). Za JSON→YAML, prilagođeni emiter prolazi kroz raščlanjenu JavaScript vrijednost i proizvodi uvučen YAML, citirajući nizovne skalare samo kad je potrebno (npr. vrijednosti koje sadrže :, # ili izgledaju kao rezervirane riječi). Izlaz se pojavljuje trenutačno dok tipkate i može se kopirati ili preuzeti.

Srodni alati

Često postavljana pitanja