Ruka hadi maudhui makuu

Kibadilishi cha YAML hadi JSON bila malipo

Badilisha YAML hadi JSON na JSON hadi YAML katika pande zote mbili. Bandika katika umbizo lolote na upate matokeo yaliyobadilishwa haraka — hakuna upakiaji wa seva unaohitajika.

Inafanya kazi bila mtandao mara ikishapakia
Matokeo ya JSON
Matokeo yataonekana hapa…

Matumizi ya kawaida

  • Badilisha YAML kwa JSON kwa ajili ya Kubernetes ManifestoBadilisha Kubernetes YAML kwa JSON (au kurudi) kwa ajili ya zana, hati za uthibitisho, au kutumia moja kwa moja kupitia API.
  • Docker Compose YAML / JSON badilishaBadilisha docker-compose.yml kwa JSON kwa ajili ya kuangalia, au kurudi kwa YAML baada ya mabadiliko ya programu.
  • Badilisha usanidi wa ujinga wa CI/CDBadilisha GitHub Actions, GitLab CI, CircleCI, na usanidi wa ujinga kati ya YAML na JSON.
  • Badilisha faili za usanidi wa programuBadilisha faili za usanidi wa programu kati ya YAML na JSON — muhimu wakati wa kubadilisha miundombinu au kushiriki usanidi juu ya zana.
  • OpenAPI / Swagger Badilisha mahitajiBadilisha OpenAPI 3.x au Swagger 2.0 API mahitaji kati ya YAML na JSON. Fomu zote ni halali na zinaweza kugeuza.

Jinsi Inavyofanya Kazi

Pande zote mbili za ubadilishaji — YAML kwenda JSON na JSON kwenda YAML — zinafanyika kikamilifu kwenye kivinjari chako kwa kutumia kichambuzi na kiandishi kilichoandikwa mwenyewe kilichojengwa kwenye ukurasa, bila maktaba ya nje ya YAML na bila seva inayohusika. Mantiki inaishi kwenye moduli moja ya TypeScript (lib/yamljson.ts) inayoshughulikia ramani, mfuatano, scalars, mifuatano yenye alama za nukuu, na kuondoa maoni ya ndani.

  1. 1
    Uingizaji unachakatwa-mapema mstari kwa mstari
    Kwa uingizaji wa YAML, kichambuzi kinagawanya maandishi kuwa mistari, kuondoa maoni ya ndani (kikifuatilia hali ya alama za nukuu kuepuka kuondoa # ndani ya mifuatano), kupima kina cha nafasi, na kuondoa mistari mitupu — kikijenga orodha iliyopangwa ya vitambulisho kabla ya uchambuzi wowote kuanza.
  2. 2
    Kichambuzi cha kushuka kwa kurudia kinajenga mti wa data
    Kichambuzi kinapitia orodha ya vitambulisho kwa kutumia kiwango cha nafasi kuamua muundo. Kinatambua vitu vya mfuatano (- thamani), funguo za ramani (key: value), na vizuizi vilivyoingiliana. Scalars zinapitia hatua ya kubadilisha aina inayoshughulikia null, boolean, nambari kamili (kikikataa thamani za sifuri-mbele kama 007 kuepuka uharibifu wa data kimya), na desimali — na hali ya hiari inayoweka maneno-wazi ya YAML 1.1 kama yes, no, on, na off kama mifuatano badala ya kuyabadilisha kuwa boolean.
  3. 3
    Vipengele visivyotegemezwa vya YAML vinawekwa alama, si kudondoshwa kimya kimya
    Kabla ya kutoa matokeo, kifaa kinachambua nanga (&name), aliases (*name), funguo za muungano (<<:), scalars za kizuizi (| na >), alama za hati-nyingi (---), na funguo za ramani zilizorudiwa. Yoyote kati ya hizi inatoa onyo linaloonekana badala ya kutoa JSON isiyo sahihi kimya kimya.
  4. 4
    JSON inasawazishwa au YAML inatolewa, kisha kupatikana
    Kwa YAML→JSON, thamani iliyochambuliwa inapitishwa kwa JSON.stringify na uwekaji-nafasi ulioChagua (nafasi 2, nafasi 4, tab, au iliyopunguzwa). Kwa JSON→YAML, kiandishi maalum kinapitia thamani ya JavaScript iliyochambuliwa na kutoa YAML yenye nafasi, ikiweka alama za nukuu kwa scalars za mfuatano tu inapohitajika (mfano, thamani zenye :, #, au zinazoonekana kama maneno yaliyohifadhiwa). Matokeo yanaonekana papo hapo unapoandika na yanaweza kunakiliwa au kupakuliwa.

Zana Zinazohusiana

Maswali Yanayoulizwa Mara Kwa Mara