JSON į YAML keitiklis
Konvertuok JSON į YAML ir YAML į JSON naršyklėje, su palaikomais inkarais, sujungimo raktais ir kelių dokumentų failais. Nieko neįkeliama.
Kaip naudotis JSON į YAML keitikliu
- Pasirink kryptį: JSON → YAML arba YAML → JSON.
- Įklijuok duomenis arba spustelėk Atidaryti failą, kad įkeltum
.json,.yamlar.ymlfailą (iki 10 MB). - Pasirink Įtrauka (2 ar 4 tarpai) ir, jei nori, Rūšiuoti raktus abėcėlės tvarka.
- Spustelėk Konvertuoti arba tiesiog rašyk toliau: rezultatas atsinaujina automatiškai. Jei įvestis netinkama, klaidos pranešime nurodyta problemos eilutė ir stulpelis.
- Nukopijuok arba atsisiųsk rezultatą. Pakeisti kryptį grąžina rezultatą į įvestį, kad galėtum konvertuoti į kitą pusę.
JSON ir YAML: tie patys duomenys, kita sintaksė
Praktiškai YAML yra JSON viršaibis: kiekvienas JSON dokumentas aprašo duomenis, kuriuos gali išreikšti YAML, o YAML prideda lengvesnę sintaksę, kurią žmonėms lengviau skaityti ir redaguoti. Todėl Kubernetes manifestai, Docker Compose failai, GitHub Actions ir GitLab CI srautai, Ansible vadovai bei OpenAPI specifikacijos dažniausiai rašomi YAML, o API ir programos keičiasi JSON.
Tie patys duomenys abiem formatais:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Keitiklis rašo blokinio stiliaus YAML: vienas raktas eilutėje, sąrašai su brūkšneliais, įdėti objektai įtraukti. Ilgos eilutės niekada nelaužomos, o daugiaeilutės eilutės naudoja pažodinį | stilių, kad eilučių lūžiai išliktų tiksliai. Eilutės, kurias YAML kitu atveju skaitytų kaip kitą tipą, apgaubiamos kabutėmis: "yes", "1.0" ar "null" po apvalios kelionės lieka eilutėmis. Rūšiuoti raktus kiekvieno objekto raktus išdėsto abėcėlės tvarka, todėl du konfigūracijos failus lengviau palyginti.
YAML → JSON
YAML skaitomas pagal YAML 1.2 pagrindinę schemą, t. y. tas pačias taisykles, kurias naudoja dauguma šiuolaikinių įrankių:
true/false, skaičiai irnull(ar~) tampa JSON reikšmėmis;yes,no,onirofflieka eilutėmis, kaip reikalauja YAML 1.2 specifikacija.- Inkarai ir aliasai (
&base,*base) išskleidžiami, o sujungimo raktai (<<: *base), dažni CI failuose, palaikomi. - Failas su keliais dokumentais, atskirtais
---, tampa JSON masyvu su vienu elementu kiekvienam dokumentui, o pranešimas nurodo, kiek jų sujungta. - Komentarai atmetami, nes JSON komentarų neturi.
.infir.nanneturi JSON atitikmens; jie rašomi kaip eilutės"Infinity"ir"NaN".
Siekiant apsaugoti tavo naršyklę nuo „milijardo juokų“ failų, kuriuose keli aliasai išsiskleidžia į milijardus reikšmių, dokumentas, išsiskleidžiantis į daugiau nei milijoną reikšmių, atmetamas.
Dažnos YAML klaidos
- Tabuliacijos įtraukai: YAML leidžia tik tarpus.
- Nenuosekli įtrauka: to paties sąrašo ar objekto elementai turi prasidėti tame pačiame stulpelyje.
- Trūksta tarpo po dvitaškio:
key:valueyra viena eilutė, okey: value– rakto ir reikšmės pora. - Specialieji simboliai be kabučių: reikšmė, prasidedanti
@, atvirkštine kabute,*,&ar!, arba turinti:ar#, turi būti apgaubta kabutėmis.
Dažnai užduodami klausimai
Ar mano failas siunčiamas į serverį?
Ne. Konvertavimas vyksta tavo naršyklėje, o konfigūracijos failai, paslaptys ar API duomenys niekada nepalieka tavo kompiuterio.
Kodėl „yes“ ir „no“ nekonvertuojami į loginius tipus?
Nuo YAML 1.2 loginiai tipai yra tik true ir false. Senesni YAML 1.1 analizatoriai yes, no, on ir off laikė loginiais tipais, o tai sukėlė garsiąją „Norvegijos problemą“ (šalies kodas NO perskaitytas kaip false). Šis įrankis laikosi YAML 1.2.
Ar YAML komentarai išsaugomi?
Ne. JSON komentarų neturi, todėl konvertuojant YAML → JSON jie prarandami. Konvertuojant JSON → YAML komentarus į rezultatą gali pridėti vėliau.
Ar galiu konvertuoti Kubernetes failą su keliais ištekliais?
Taip. Kiekvienas išteklius, atskirtas ---, tampa vienu JSON masyvo elementu. Konvertavus tą masyvą atgal į YAML gaunamas vienas dokumentas su sąrašu.
Ar keitiklis keičia raktų tvarką?
Ne, nebent pažymėsi Rūšiuoti raktus: raktai išlaiko tvarką, kuria pateikti įvestyje. Vienintelė išimtis kyla iš paties JavaScript: raktai, kurie yra sveikieji skaičiai, pavyzdžiui, "10" ar "2", dedami pirmi didėjimo tvarka.
Susiję įrankiai
- JSON formatuotojas ir tikrintuvas Nemokamas JSON formatuotojas ir tikrintuvas, kuris naršyklėje sutvarko, minimizuoja ir tikrina JSON, o sintaksės klaidas nurodo su eilute ir stulpeliu.
- JSON į CSV keitiklis Konvertuok JSON į CSV ir CSV atgal į JSON naršyklėje. Įdėti raktai suplokštinami į stulpelius, skirtukai aptinkami, nieko neįkeliama.
- JSON į XML keitiklis Konvertuok JSON į XML ir XML į JSON naršyklėje, su atributais, pasikartojančiais elementais ir CDATA. Nieko neįkeliama į serverį.