Bezmaksas pārveidotājs

YAML uz JSON pārveidotājs

Ātra un droša YAML konvertēšana uz JSON. Lieliski piemērots konfigurācijas failiem un datu analīzei.

Or

Par šo rīku

YAML un JSON ir cieši saistīti formāti — JSON tehniski ir stingra YAML 1.2 apakškopa — un konvertēšana starp tiem parasti ir vienkārša. YAML pievieno cilvēkiem draudzīgas funkcijas, kuru JSON trūkst: komentāri, vairāku rindu virknes bez atslēgšanās, enkura un aizstājvārdu atsauces, elastīgāka citēšana un uz atkāpēm balstīta struktūra, kas atgādina dabisku dokumenta izkārtojumu. Tas padara YAML par populāru izvēli konfigurācijas failiem (Kubernetes manifesti, GitHub Actions darbplūsmas, Docker Compose), savukārt JSON dominē API lietderīgajā slodzē.

YAML konvertēšana uz JSON parasti nozīmē atteikšanos no YAML cilvēkiem draudzīgajām papildierīcēm apmaiņā pret formātu, kuru mašīnas ir vieglāk parsēt un kas ir HTTP API lingua franca. Komentāri tiek atmesti (JSON nav neviena). Enkura atsauces tiek sadalītas to atsauces vērtībās. Vairāku rindu virknes sakļaujas līdz standarta JSON virknēm ar iegultām jaunām rindiņām.

Šis pārveidotājs parsē YAML, izmantojot js-yaml, JavaScript visplašāk izmantoto YAML bibliotēku. Izvade tiek ģenerēta, izmantojot JSON.stringify ar neobligātu atkāpi. Konversija apstrādā visu standarta YAML 1.2 sintaksi, tostarp plūsmas stilu, bloku stilu, skalārus, secības, kartējumus, enkurus, aizstājvārdus un standarta tagu veidus.

Kāpēc konvertēt YAML uz JSON

Lielākā daļa API un daudzas programmēšanas vides sagaida JSON. Konfigurācijas faili, kas rakstīti YAML, ir jāpārveido par JSON, integrējot ar kodu vai pakalpojumiem, kas pieņem tikai JSON. JSON rīki ir arī daudz plašāki: jq, JSON ceļš, JSON shēma un plaša validatoru un transformatoru ekosistēma izmanto JSON ievadi.

JSON ir nepārprotams arī tādos veidos, kā YAML nav. YAML elastība rada parsēšanas pārsteigumus — virknes, piemēram, 'nē' parsējot kā Būla nepatiesu YAML 1.1, versiju virknes parsē kā pludiņus, atkāpes kļūdas rada klusas strukturālas izmaiņas. Konvertējot uz JSON, dati tiek iesaldēti mazāk nepārprotamā formā.

Kā lietot

Ielīmējiet YAML, iegūstiet JSON.

  1. Pievienojiet savu YAML: Ielīmējiet YAML tekstu ievades apgabalā vai nometiet .yml/.yaml failu. js-yaml pieņem pilnu YAML 1.2 sintaksi.
  2. Konvertēt: js-yaml parsē YAML par JavaScript objektu, un JSON.stringify to serializē ar divu atstarpju atkāpi. Komentāri tiek atmesti, enkuri tiek atrisināti un īpaši YAML veidi (laikspiedoli, binārie dati) tiek pārveidoti ar JSON saderīgos attēlojumos.
  3. Pārskatiet rezultātu: Pārliecinieties, vai JSON struktūra atbilst gaidītajam. Salīdziniet ar avota YAML, lai atklātu visas vietas, kur YAML brīva rakstīšana radīja neparedzētas JSON vērtības.
  4. Lejupielādēt vai kopēt: Saglabājiet kā .json vai kopējiet starpliktuvē. Izvade ir derīga JSON, ko var izmantot jebkurš JSON parsētājs.

Bieži lietojami gadījumi

Tehniskās detaļas

js-yaml ievieš YAML 1.2 ar izvēles atbalstu YAML 1.1 dīvainībām (“nē” kā nepatiesa problēma, oktālie skaitļi bez 0o prefiksa). Parsētājs izveido JavaScript objektu koku, izmantojot vietējos veidus: skaitļus, virknes, Būla vērtības, nulles, masīvus un vienkāršus objektus.

JSON.stringify serializē objektu koku uz JSON. Izvēles atkāpe rada glītu izdruku; bez tā rezultāts ir kompakts vienas rindas JSON. Īpašās vērtības (NaN, Infinity, undefined) nav derīgas JSON; pārveidotājs piespiež tos uz nulli, ja tas ir.

Malu gadījumi: YAML laikspiedoli kļūst par ISO-8601 virknēm JSON. YAML binārie dati (kodēti ar base64) kļūst par virkni. Enkuri un aizstājvārdi tiek atrisināti JSON vērtību dublikātos, jo JSON nav atsauces sintakses.

Labākā prakse

Bieži uzdotie jautājumi

Vai YAML konvertēšana uz JSON maina saturu?
Saturs tiek saglabāts pēc iespējas precīzāk. Tomēr dažiem formātam raksturīgajiem līdzekļiem var nebūt tiešu ekvivalentu, tāpēc var rasties nelielas formatēšanas atšķirības.
Kāpēc konvertēt datus JSON formātā?
JSON ir standarta datu formāts tīmekļa API un JavaScript lietojumprogrammām. Tas ir lasāms cilvēkiem, to plaši atbalsta programmēšanas valodas, un tam ir vienkāršāka sintakse nekā XML.
Vai pārveidotājs apstrādā ligzdotas vai sarežģītas YAML struktūras?
Jā. Rīks pareizi parsē ligzdotos objektus, masīvus un visus standarta YAML datu tipus, saglabājot pilnu datu struktūru JSON izvadē.
Vai šī konversija ir droša un privāta?
Jā. Visa apstrāde notiek lokāli jūsu pārlūkprogrammā. Jūsu dati nekad nepamet jūsu ierīci — nav servera augšupielādes, mākoņa apstrādes un datu vākšanas.
Vai mans YAML ceļojums turp un atpakaļ būs tīrs?
Strukturāli jā, ja atkārtoti izsūtāt JSON atpakaļ uz YAML. Tiek zaudēti komentāri un enkura struktūra; tiek saglabātas neapstrādātas vērtības.
Vai mani dati ir augšupielādēti serverī?
Nē. js-yaml darbojas jūsu pārlūkprogrammā.
Kāds ir maksimālais izmērs?
Līdz 50 MB. js-yaml uzreiz apstrādā tipiskus konfigurācijas failus; ļoti liela YAML parsēšana var aizņemt ievērojamu laiku.
Vai tas atbalsta vairāku dokumentu YAML?
YAML atbalsta vairākus dokumentus vienā failā, kas atdalīti ar ---. Pārveidotājs pēc noklusējuma apstrādā pirmo dokumentu; vairāku dokumentu apstrādei vispirms sadaliet YAML.