Անցնել հիմնական բովանդակությանը

YAML-ից JSON փոխակերպիչ անվճար

Փոխակերպեք YAML-ն JSON-ի ու JSON-ն YAML-ի երկու ուղղությամբ: Տեղադրեք ցանկացած ձևաչափ ու ստացեք փոխակերպված արդյունքն ակնթարթորեն — առանց սերվերի վերբեռնման:

Աշխատում է անցանց՝ բեռնվելուց հետո
JSON ելք
Ելքը կհայտ. այստ.…

Տարածված կիրառություններ

  • Փոխել YAML JSON համար Kubernetes ManifestՓոխել Kubernetes YAML JSON (կամ մեջ) գործիքներ, արդյունավետություն սցենարներ կամ կիրառել ուղղակի API միջոցով:
  • Docker Compose YAML / JSON փոխարկումՓոխել docker-compose.yml JSON միջեւ փորձ կամ վերադառնալ YAML ծրագրային կերպով խմբագրում հետո:
  • CI/CD խողովակ կազմաձեւում փոխարկումՓոխել GitHub գործողություններ, GitLab CI, CircleCI և այլ խողովակ կազմաձեւում միջեւ YAML և JSON ձեւաչափեր:
  • Ծրագիր կազմաձեւում ֆայլ փոխարկումՓոխել ծրագիր կազմաձեւում ֆայլեր միջեւ YAML և JSON - օգտակար երբ անցել շրջանակներ կամ կազմաձեւում միջեւ գործիքներ:
  • OpenAPI / Swagger Spec փոխարկումՓոխել OpenAPI 3.x կամ Swagger 2.0 API սահմանում միջեւ YAML և JSON ձեւաչափեր: Երկու ձեւաչափեր կա վ էքսկուրսիա:

Ինչպես է այն աշխատում

Փոխարկման երկու ուղղություններն էլ — YAML-ից JSON և JSON-ից YAML — ամբողջովին աշխատում են ձեր դիտարկիչում՝ ձեռագիր վերլուծիչով և արտագրիչով, կառուցված էջի մեջ, առանց երրորդ կողմի YAML գրադարանի և առանց սերվերի ներգրավման։ Տրամաբանությունը գտնվում է մեկ TypeScript մոդուլում (lib/yamljson.ts), որը մշակում է քարտեզագրումները, հաջորդականությունները, սկալյարները, չակերտավորված տողերը և ներգծված մեկնաբանության հեռացումը։

  1. 1
    Մուտքագրումը նախապես մշակվում է տող առ տող
    YAML մուտքագրման համար վերլուծիչը տեքստը բաժանում է տողերի, հեռացնում է ներգծված մեկնաբանությունները (հետևելով չակերտի վիճակին՝ տողերի ներսում # հեռացնելուց խուսափելու համար), չափում է նահանջի խորությունը, և դատարկում է դատարկ տողերը — կառուցելով նշանների կառուցվածքային ցանկ մինչև ցանկացած վերլուծության սկսելը։
  2. 2
    Կրկնողական-իջնող վերլուծիչը կառուցում է տվյալների ծառը
    Վերլուծիչն անցնում է նշանների ցանկով՝ օգտագործելով նահանջի մակարդակը կառուցվածքը որոշելու համար։ Այն ճանաչում է հաջորդականության իրերը (- value), քարտեզագրման բանալիները (key: value), և ներդրված բլոկները։ Սկալյարներն անցնում են տիպավորված ստիպողական քայլով, որը մշակում է null-ը, բուլյանները, ամբողջ թվերը (մերժելով առաջատար-զրոյով արժեքներ, ինչպիսին է 007-ը՝ լուռ տվյալային խաթարումից խուսափելու համար), և թողունակները — ընտրովի ռեժիմով, որը YAML 1.1 մերկ բառերը, ինչպիսիք են yes, no, on և off-ը, պահում է որպես տողեր, ոչ թե դրանք փոխարկում բուլյանների։
  3. 3
    Չաջակցվող YAML հատկանիշները նշվում են, ոչ թե լուռ գցվում
    Մինչև ելքն արտադրելը, գործիքը սկանավորում է խարիսխների (&name), կեղծանունների (*name), միացման բանալիների (<<:), բլոկային սկալյարների (| և >), բազմա-փաստաթղթային նշիչների (---), և կրկնակի քարտեզագրման բանալիների համար։ Դրանցից ցանկացածը գործարկում է տեսանելի նախազգուշացում, ոչ թե արտադրում է նուրբ սխալ JSON։
  4. 4
    JSON-ը սերիալացվում է կամ YAML-ը ստեղծվում է, ապա հասանելի է դարձվում
    YAML→JSON-ի համար վերլուծված արժեքը փոխանցվում է JSON.stringify-ին ձեր ընտրած նահանջով (2 բացատ, 4 բացատ, tab, կամ մինիֆիկացված)։ JSON→YAML-ի համար հատուկ արտագրիչն անցնում է վերլուծված JavaScript արժեքով և արտադրում է նահանջված YAML, տողային սկալյարները չակերտավորելով միայն անհրաժեշտության դեպքում (օր.՝ արժեքներ, որ պարունակում են :, #, կամ նման են պահված բառերի)։ Ելքն ակնթարթորեն հայտնվում է, երբ մուտքագրում եք, և կարող է պատճենվել կամ ներբեռնվել։

Առնչվող գործիքներ

Հաճախակի տրվող հարցեր