Neidio i'r prif gynnwys

Trawsnewidydd YAML i JSON am ddim

Trawsnewidwch YAML i JSON a JSON i YAML yn y ddau gyfeiriad. Gludwch mewn naill fformat a chael yr allbwn wedi'i drawsnewid ar unwaith — dim uwchlwytho gweinydd.

Yn gweithio all-lein ar ôl llwytho
Allbwn JSON
Bydd allbwn yn ymddangos yma…

Defnyddiau cyffredin

  • Trosi YAML i JSON ar gyfer Manifests KubernetesTrosi Kubernetes YAML i JSON (neu yn ôl) ar gyfer offer, sgriptiau dilysu neu gymhwyso'n uniongyrchol trwy'r API.
  • Docker Compose YAML / JSON TrosiTrosi docker-compose.yml i JSON i arolygu, neu yn ôl i YAML ar ôl golygu rhaglennu.
  • CI/CD Pipeline Config TrosiTrosi GitHub Actions, GitLab CI, CircleCI a trefniad piblinell eraill rhwng fformatau YAML a JSON.
  • Trosi Ffeil Trefniad CymhwysiadTrosi ffeiliau trefniad cymhwysiad rhwng YAML a JSON - defnyddiol wrth newid fframweithiau neu rannu trefniad ar draws offer.
  • Trosi OpenAPI / Swagger SpecTrosi OpenAPI 3.x neu Swagger 2.0 manylebau API rhwng fformatau YAML a JSON. Mae'r ddau fformat yn ddilys ac yn gwbl gwasgar.

Sut Mae'n Gweithio

Mae'r ddau gyfeiriad trosi — YAML i JSON a JSON i YAML — yn rhedeg yn gyfan gwbl yn eich porwr gan ddefnyddio dosrannydd ac allyrrydd wedi'u hysgrifennu â llaw ac wedi'u hadeiladu i mewn i'r dudalen, heb lyfrgell YAML trydydd parti a heb weinydd. Mae'r rhesymeg mewn un modiwl TypeScript (lib/yamljson.ts) sy'n trin mapiadau, dilyniannau, sgalarau, llinynnau wedi'u dyfynnu a thynnu sylwadau yn y llinell.

  1. 1
    Caiff mewnbwn ei rag-brosesu fesul llinell
    Ar gyfer mewnbwn YAML, mae'r dosrannydd yn hollti'r testun yn llinellau, yn tynnu sylwadau yn y llinell (gan olrhain cyflwr dyfynodau i osgoi tynnu # o fewn llinynnau), yn mesur dyfnder mewnoliad, ac yn taflu llinellau gwag — gan adeiladu rhestr strwythuredig o docynnau cyn i unrhyw ddosrannu ddechrau.
  2. 2
    Mae dosrannydd disgyn ailadroddus yn adeiladu'r goeden ddata
    Mae'r dosrannydd yn cerdded drwy'r rhestr docynnau gan ddefnyddio lefel mewnoliad i bennu strwythur. Mae'n adnabod eitemau dilyniant (- value), allweddi mapio (key: value) a blociau nythog. Mae sgalarau'n mynd drwy gam gorfodi teipiedig sy'n trin null, booleans, cyfanrifau (gan wrthod gwerthoedd gyda sero ar y dechrau fel 007 i osgoi llygru data'n dawel) a rhifau pwynt arnawf — gyda modd dewisol sy'n cadw geiriau moel YAML 1.1 fel yes, no, on ac off fel llinynnau yn hytrach na'u trosi'n booleans.
  3. 3
    Caiff nodweddion YAML heb eu cefnogi eu nodi, nid eu gollwng yn dawel
    Cyn allyrru allbwn, mae'r offeryn yn sganio am angorau (&name), arallenwau (*name), allweddi cyfuno (<<:), sgalarau bloc (| a >), marcwyr aml-ddogfen (---) ac allweddi mapio dyblyg. Mae unrhyw un o'r rhain yn sbarduno rhybudd gweladwy yn hytrach na chynhyrchu JSON sydd ychydig yn anghywir.
  4. 4
    Caiff JSON ei gyfresu neu YAML ei allyrru, yna'i roi ar gael
    Ar gyfer YAML→JSON, caiff y gwerth wedi'i ddosrannu ei basio i JSON.stringify gyda'r mewnoliad a ddewiswyd gennych (2 fwlch, 4 bwlch, tab neu wedi'i leihau). Ar gyfer JSON→YAML, mae allyrrydd pwrpasol yn cerdded drwy'r gwerth JavaScript wedi'i ddosrannu ac yn cynhyrchu YAML wedi'i fewnoli, gan ddyfynnu sgalarau llinyn dim ond pan fo angen (e.e. gwerthoedd sy'n cynnwys :, #, neu sy'n edrych fel geiriau neilltuedig). Mae'r allbwn yn ymddangos ar unwaith wrth i chi deipio a gellir ei gopïo neu ei lwytho i lawr.

Offer Cysylltiedig

Cwestiynau Cyffredin