Besplatan Konverter YAML u JSON

Pretvorite YAML u JSON i JSON u YAML u oba smjera. Nalijepite u bilo kojem formatu i odmah dobijte pretvoreni izlaz — nije potrebno otpremanje na server.

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

Kako radi

Oba smjera konverzije — YAML u JSON i JSON u YAML — se u potpunosti odvijaju u vašem pregledniku koristeći ručno napisan raščlanjivač i emiter ugrađen u stranicu, bez YAML biblioteke treće strane i bez uključenog servera. Logika živi u jednom TypeScript modulu (lib/yamljson.ts) koji rukuje mapiranjima, sekvencama, skalarima, citiranim nizovima, i uklanjanjem inline komentara.

  1. 1
    Unos se prethodno obrađuje red po red
    Za YAML unos, raščlanjivač dijeli tekst na redove, uklanja inline komentare (prateći stanje navodnika da izbjegne uklanjanje # unutar nizova), mjeri dubinu uvlačenja, i odbacuje prazne redove — gradeći strukturiranu listu tokena prije nego što bilo kakvo raščlanjivanje počne.
  2. 2
    Rekurzivni silazni raščlanjivač gradi stablo podataka
    Raščlanjivač prolazi kroz listu tokena koristeći nivo uvlačenja da odredi strukturu. Prepoznaje stavke sekvence (- vrijednost), ključeve mapiranja (ključ: vrijednost), i ugniježđene blokove. Skalari prolaze kroz tipizirani korak prisile koji rukuje null, boolean, cijelim brojevima (odbacujući vrijednosti sa vodećom nulom poput 007 da izbjegne tiho kvarenje podataka), i decimalnim brojevima — sa opcionim modom koji zadržava YAML 1.1 gole riječi poput yes, no, on, i off kao nizove umjesto da ih pretvara u boolean.
  3. 3
    Nepodržane YAML funkcije se označavaju, ne tiho odbacuju
    Prije emitovanja izlaza, alat skenira sidra (&name), aliase (*name), ključeve spajanja (<<:), blok skalare (| i >), oznake više dokumenata (---), i duplicirane ključeve mapiranja. Bilo koji od ovih aktivira vidljivo upozorenje umjesto da proizvede suptilno pogrešan JSON.
  4. 4
    JSON se serijalizuje ili YAML emituje, zatim se čini dostupnim
    Za YAML→JSON, raščlanjena vrijednost se prosljeđuje JSON.stringify sa vašim odabranim uvlačenjem (2 razmaka, 4 razmaka, tabulator, ili minifikovano). Za JSON→YAML, prilagođen emiter prolazi kroz raščlanjenu JavaScript vrijednost i proizvodi uvučen YAML, citirajući nizovne skalare samo kada je potrebno (npr. vrijednosti koje sadrže :, #, ili izgledaju kao rezervisane riječi). Izlaz se pojavljuje trenutno dok kucate i može se kopirati ili preuzeti.

Povezani alati

Često postavljana pitanja