အခမဲ့ YAML မှ JSON Converter
YAML မှ JSON သို့ နှင့် JSON မှ YAML သို့ နှစ်ဖက်လုံး ပြောင်းပါ။ မည်သည့် format မဆို ကူးထည့်ပြီး ပြောင်းထားသော output ချက်ချင်း ရပါ — server upload မလိုဘဲ。
ထွက်ပေါ်မည် ဤနေရာတွင်…အသုံးများသော အသုံးပြုမှုများ
- Kubernetes မုံလုံးများအတွက် YAML မှ JSON သို့ပြောင်းလဲပါKubernetes YAML မှ JSON သို့ (သို့မဟုတ်ပြန်သို့) ကိရိယာများ၊ အီလျှုံကစာသားများ သို့မဟုတ်API ထံတစ်ခြား၄တည့်ခြင်းများတွင်။
- Docker Compose YAML / JSON ပြောင်းလဲမှုdocker-compose.yml မှ JSON သို့ အီလျှုံကများကို သို့မဟုတ်အီလျှုံကပြုပြင်မှုများပြီးနောက် YAML သို့ပြန်သို့။
- CI/CD ပိုက်လိုင်း ဖွဲ့စည်းပုံ ပြောင်းလဲခြင်းGitHub Actions၊ GitLab CI၊ CircleCI နှင့်အခြား pipeline အီလျှုံကများမှ YAML နှင့် JSON အီလျှုံကများအားကြားတွင်ပြောင်းလဲပါ။
- အီလျှုံကအီလျှုံကဖိုင်ပြောင်းလဲမှုအီလျှုံကအီလျှုံကဖိုင်များမှ YAML နှင့် JSON အားကြားတွင်ပြောင်းလဲပါ — အီလျှုံကအီလျှုံကများပြောင်းလဲမီတွင် သို့မဟုတ်အီလျှုံကများအားကြားတွင်အီလျှုံကများခွဲမျှေ့ခြင်းအတွက်အသုံးဝင်ပါ။
- OpenAPI / Swagger အီလျှုံကပြောင်းလဲမှုOpenAPI 3.x သို့မဟုတ် Swagger 2.0 API အီလျှုံကများမှ YAML နှင့် JSON အီလျှုံကများအားကြားတွင်ပြောင်းလဲပါ။ နှစ်ခုလုံး အီလျှုံကများသည် အီလျှုံကများ နှင့်အီလျှုံကများမဖြစ်ပါ။
မည်သို့ အလုပ်လုပ်သည်
Conversion ဦးတည်ချက်နှစ်ခုစလုံး — YAML to JSON and JSON to YAML — သည် ပြင်ပ YAML library သို့မဟုတ် server မပါဘဲ စာမျက်နှာထဲသို့ တည်ဆောက်ထားသော ကိုယ်တိုင်ရေးထားသော parser နှင့် emitter ကို သုံး၍ သင့် browser ထဲတွင် လုံးဝ ဖြစ်ပျက်ပါသည်။ Logic ကို TypeScript module တစ်ခုတည်း (lib/yamljson.ts) တွင် ထားရှိပြီး mapping, sequence, scalar, quoted string, and inline comment ဖယ်ရှားခြင်းကို ကိုင်တွယ်သည်။
- 1Input ကို line-by-line pre-process လုပ်ထားသည်YAML input အတွက် parser သည် စာသားကို line များအဖြစ် ခွဲပြီး inline comment များ (string များအတွင်းရှိ # ကို ဖယ်ရှားမသွားရန် quote state ကို track လုပ်ခြင်း) ကို ဖယ်ရှားကာ indentation depth ကို တိုင်းတာပြီး blank line များကို ဖယ်ရှားသည် — parsing မစတင်မီ ဖွဲ့စည်းထားသော token list တစ်ခု တည်ဆောက်သည်။
- 2Recursive descent parser တစ်ခုသည် data tree ကို တည်ဆောက်ပေးသည်Parser သည် ဖွဲ့စည်းပုံကို သတ်မှတ်ရန် indentation level ကို သုံး၍ token list ကို လျှောက်သည်။ ၎င်းသည် sequence item (- value), mapping key (key: value), and nested block များကို မှတ်မိသည်။ Scalar များသည် null, boolean, integer (data ဖျက်ဆီးမှု တိတ်တဆိတ် ရှောင်ရှားရန် 007 ကဲ့သို့ ရှေ့သုညပါသော တန်ဖိုးများကို ငြင်းပယ်) and float ကို ကိုင်တွယ်သော typed coercion အဆင့်ကို ဖြတ်သန်းစေသည် — YAML 1.1 barewords yes, no, on, and off ကို boolean သို့ မပြောင်းလဲဘဲ string များအဖြစ် ထားသော ရွေးချယ်နိုင်သော mode တစ်ခုနှင့်အတူ။
- 3ပံ့ပိုးမထားသော YAML feature များကို flag တင်ထားပြီး တိတ်တဆိတ် ချန်ထားခြင်း မရှိပါOutput မပေါ်မီ ကိရိယာသည် anchor (&name), alias (*name), merge key (<<:), block scalar (| and >), multi-document marker (---), and duplicate mapping key များကို scan လုပ်သည်။ ၎င်းတို့ထဲမှ မည်သည့်တစ်ခုကမဆို ရှုပ်ထွေးသော မှားယွင်းသော JSON ထုတ်ပေးမည့်အစား မြင်သာသော သတိပေးချက်တစ်ခု trigger လုပ်သည်။
- 4JSON ကို serialize လုပ်ထားခြင်း (သို့) YAML ကို emit ထားခြင်း၊ ထို့နောက် ရရှိနိုင်စေထားသည်YAML→JSON အတွက် parse လုပ်ထားသော တန်ဖိုးကို သင်ရွေးချယ်ထားသော indentation (2 spaces, 4 spaces, tab, or minified) ဖြင့် JSON.stringify သို့ ပေးပို့သည်။ JSON→YAML အတွက် custom emitter တစ်ခုသည် parse လုပ်ထားသော JavaScript တန်ဖိုးကို လျှောက်ပြီး indent လုပ်ထားသော YAML ကို ထုတ်ပေးသည်၊ လိုအပ်သောအခါသာ string scalar များကို quote လုပ်သည် (ဥပမာ :, #, ပါသော (သို့) reserved word များ ဟန်ဆောင်သော တန်ဖိုးများ)။ Output ကို ရိုက်နေစဉ် ချက်ချင်း ပေါ်လာပြီး ကူးယူ (သို့) ဒေါင်းလုဒ်ဆွဲနိုင်သည်။
ဆက်နွှယ်သော ကိရိယာများ
JSON မှ XML Converter
attribute နှင့် array ထိန်းသိမ်းထားစဉ် JSON မှ XML သို့နှင့် XML မှ JSON သို့ နှစ်ဖက်လုံး ပြောင်းပါ။ browser တွင်သာ လုံးဝ အလုပ်လုပ် — upload မဖြစ်ပါ。
CSV မှ JSON
CSV (သို့မဟုတ် TSV) ကို JSON — object array သို့မဟုတ် array — သို့ ပြောင်းပါ — RFC 4180 parser မှန်ကန်၊ delimiter အလိုအလျောက် ရှာဖွေ၊ type ပြောင်းလဲမှုဖြင့်။ browser တွင် အလုပ်လုပ်သည်။
JWT ဖြည်ဆင်စက်
မည်သည့် JSON Web Token ကိုမဆို decode ပြုလုပ်ကာ စစ်ဆေးပါ။ header, payload, expiration နှင့် standard claim ကြည့်ပါ။ browser တွင်သာ ရာနှုန်းပြည့် ဆောင်ရွက် — token များ သင့် device မှ ဘယ်သောအခါမှ မထွက်ပါ。