JSON မှ CSV သို့ ပြောင်းလဲပေးသည့် ကိရိယာ

JSON ကို CSV သို့ အွန်လိုင်းတွင် ပြောင်းပါ — အခမဲ့၊ ချက်ချင်းနှင့် လုံခြုံစိတ်ချရသည်။ သင့်ဖိုင်ကို သင့်ဘရောက်ဇာထဲ၌သာ လုပ်ဆောင်ပြီး မည်သည့်အခါမျှ တင်ယူခြင်း မရှိပါ။

CSV ပိုင်းခြားသည့် သင်္ကေတ
ရလဒ်

ပြောင်းလဲထားသော ဖိုင်များနှင့် အစမ်းကြည့်ရှုမှုကို ဤနေရာတွင် ပြသပါမည်။

အဆင်သင့်ဖြစ်ပါပြီ။ ပြောင်းလဲရန် ဇယားဖိုင်တစ်ခုကို ရွေးချယ်ပါ။

ပြောင်းလဲခြင်း လုပ်ဆောင်ပုံ

  • object များ၏ array သည် အတန်းများနှင့် ကော်လံများ ဖြစ်လာသည် — ထပ်ဆင့်ထည့်သွင်းထားသော object များကို address.city ကဲ့သို့သော အစက်ချကီး ကော်လံများအဖြစ် ပြားချပ်စေပါမည်။
  • သင့်ဒေတာနှင့် ကိုက်ညီသော ကန့်သတ်စာလုံး (delimiter) ကို ရွေးချယ်ပါ — ကော်မာ (comma)၊ ဆီမီကိုလွန် (semicolon) သို့မဟုတ် တက်ဘ် (tab)။

သင့်ဇယားဖိုင်ကို သင့်ဘရောက်ဇာထဲတွင်သာ ပြောင်းလဲပေးပါသည်။ BroBroGo သို့ မည်သည့်အရာမျှ ပေးပို့ခြင်းမရှိပါ။

အမေးများသော မေးခွန်းများ (FAQ)

JSON ကို CSV သို့ မည်သို့ပြောင်းရမည်နည်း။

သင့် JSON ဖိုင်ကို ဆွဲထည့်ပြီး convert ကို နှိပ်ပါ — ရလဒ်၏ အစမ်းကြည့်ရှုမှုနှင့်အတူ CSV ဖိုင်သည် စက္ကန့်ပိုင်းအတွင်း ဒေါင်းလုဒ်လုပ်ရန် အဆင်သင့်ဖြစ်ပါမည်။ အရာအားလုံးသည် သင့်စက်ပေါ်တွင်သာ အလုပ်လုပ်ပါသည်။

မည်မျှအထိ ကြီးမားသော ဖိုင်ကို ပြောင်းလဲနိုင်ပါသလဲ။

ဖိုင်တစ်ခုလျှင် 8 MB၊ အတန်း ၁၀,၀၀၀ နှင့် ကော်လံ ၂၀၀ အထိ ရရှိနိုင်သည်။ ပိုမိုကြီးမားသော ဒေတာများကို ဦးစွာ ဖိုင်အသေးများအဖြစ် ခွဲထုတ်ရန် အကြံပြုလိုပါသည်။

JSON မှ CSV သို့ ပြောင်းလဲခြင်း လမ်းညွှန်

ဤကိရိယာသည် JSON ဖိုင်တစ်ခုကို CSV ဖိုင်အဖြစ်သို့ ပြောင်းလဲပေးသည်။ အဓိကကွာခြားချက်မှာ JSON ၏ အထက်အောက်ဖွဲ့စည်းပုံ (hierarchical structure) နှင့် အမျိုးအစားရှိသော ဒေတာ (typed data) ကို CSV ၏ အပြားလိုက်၊ အမျိုးအစားမရှိသော ဇယားအဖြစ်သို့ ပြားချပ်အောင် ပြုလုပ်ခြင်း ဖြစ်သည်။ JSON သည် အရာဝတ္ထုများ (objects)၊ စာရင်းများ (arrays)၊ ဂဏန်းများ၊ boolean များနှင့် null တို့ကို nested structure များဖြင့် သိမ်းဆည်းထားနိုင်သော်လည်း CSV သည် ၎င်းတို့အားလုံးကို စာသား (string) အဖြစ်သာ ကိုယ်စားပြုသည်။ ပြောင်းလဲမှုအားလုံးသည် သင့်ဘရောက်ဆာအတွင်း၌သာ ဖြစ်ပွားပြီး မည်သည့်ဒေတာမျှ ဆာဗာသို့ တင်ခြင်း (upload) မရှိပါ။

JSON နှင့် CSV ၏ ဖွဲ့စည်းပုံ ကွာခြားချက်များ

JSON သည် အထက်အောက် ဆက်စပ်မှု (hierarchy) ကို အသုံးပြုပြီး ဒေတာကို သိမ်းဆည်းသည်။ ဥပမာ address.city ဟူသော dot-path သည် address အရာဝတ္ထုအတွင်းရှိ city ဒေတာကို ညွှန်ပြသည်။ CSV သည်မူ ဇယားကွက်တစ်ခု (row နှင့် column) တွင်သာ ဒေတာကို သိမ်းဆည်းနိုင်ပြီး nested structure ကို တိုက်ရိုက်ကိုယ်စားပြုရန် မဖြစ်နိုင်ပါ။

ဤကိရိယာသည် JSON ကို ပြောင်းလဲရာတွင် nested object များရှိ key များကို dot-path notation ဖြင့် ပြားချပ်အောင် ပြုလုပ်သည်။ ဥပမာအားဖြင့် {"user": {"name": "Aung", "age": 30}} ဆိုသော JSON ကို CSV တွင် user.name နှင့် user.age ဟူသော column နှစ်ခုအဖြစ် ပြောင်းလဲသွားမည်ဖြစ်သည်။ ဤပြားချပ်ခြင်းလုပ်ငန်းစဉ်သည် JSON တွင်ရှိသော အထက်အောက်ဆက်စပ်မှုအားလုံးကို ဖျက်ပစ်သည်။

Client-Side Processing ၏ လုံခြုံရေးနှင့် သီးသန့်တည်ရှိမှု

ဤကိရိယာ၏ အဓိကအင်္ဂါရပ်မှာ ဒေတာအားလုံးကို သင့်ဘရောက်ဆာတွင် သီးသန့်လုပ်ဆောင်ခြင်း (client-side processing) ဖြစ်သည်။ ဆိုလိုသည်မှာ သင့် JSON ဖိုင်သည် ကွန်ပျူတာမှ ဘယ်သောအခါမျှ ထွက်ခွာသွားခြင်းမရှိပါ။ ဒေတာကို ပြင်ပဆာဗာသို့ မပို့ဆောင်သောကြောင့် လျှို့ဝှက်အချက်အလက်များ (ဥပမာ ငွေရေးကြေးရေး၊ ကျန်းမာရေး သို့မဟုတ် ကိုယ်ရေးကိုယ်တာအချက်အလက်များ) ပါဝင်သော JSON ဖိုင်များကို ဘေးကင်းစွာ ပြောင်းလဲနိုင်သည်။ ဤချဉ်းကပ်မှုသည် ဒေတာပေါက်ကြားမှု (data breach) အန္တရာယ်ကို သိသိသာသာ လျော့ကျစေသည်။

JSON ဖိုင်ကို "Table-Shaped" ဖြစ်ကြောင်း စစ်ဆေးခြင်း

ကိရိယာသည် JSON ဖိုင်ကို ဇယားပုံစံဖြင့်သာ ပြောင်းလဲနိုင်သည်။ "table-shaped" ဟူသည် အောက်ပါအခြေအနေနှစ်ခုအနက်မှ တစ်ခုခုကို ရည်ညွှန်းသည်။

  1. အရာဝတ္ထုများ၏ စာရင်း (Array of Objects): ဤသည်မှာ အသုံးအများဆုံးဖြစ်သည်။ JSON ဖိုင်သည် [...] အတွင်းတွင် အရာဝတ္ထုများစွာပါဝင်ပြီး အရာဝတ္ထုတစ်ခုစီတွင် တူညီသော key များရှိသည်။ ဥပမာ [{"name":"Aung", "age":30}, {"name":"Mya", "age":25}]။ ဤတွင် အရာဝတ္ထုတစ်ခုစီသည် CSV ရှိ row တစ်ခုဖြစ်လာပြီး key များသည် column များဖြစ်လာသည်။

  2. စာရင်းများ၏ စာရင်း (Array of Arrays): JSON ဖိုင်သည် [[...], [...],...] ပုံစံဖြင့်လည်း ရှိနိုင်သည်။ ဤတွင် အတွင်းစာရင်း (inner array) တစ်ခုစီသည် CSV ရှိ row တစ်ခုဖြစ်လာပြီး ဒြပ်စင်တစ်ခုစီသည် column တစ်ခုဖြစ်လာသည်။

သင့် JSON ဖိုင်သည် ဤပုံစံများနှင့် မကိုက်ညီပါက (ဥပမာ အရာဝတ္ထုတစ်ခုတည်း သို့မဟုတ် nested structure အလွန်ရှုပ်ထွေးပါက) "This JSON is invalid or not table‑shaped." ဟူသော အမှားသတင်းစကား ပေါ်လာပါမည်။

Delimiter ရွေးချယ်ခြင်းနှင့် ၎င်း၏ အရေးပါမှု

CSV (Comma-Separated Values) တွင် delimiter (ခွဲခြားသည့် သင်္ကေတ) သည် ကော်လံများကို ခွဲခြားရန် အသုံးပြုသည်။ ဤကိရိယာသည် သုံးမျိုးသော delimiter ကို ရွေးချယ်နိုင်သည်။

  • ကော်မာ (Comma): အသုံးအများဆုံး၊ အင်္ဂလိပ်လိုကွန်ပျူတာစနစ်များတွင် ပုံမှန်။
  • Semicolon: ဥရောပနိုင်ငံများတွင် အသုံးများပြီး ကော်မာကို ဒဿမအမှတ် (decimal separator) အဖြစ်သုံးသည့်အခါ CSV ဖိုင်များတွင် ပြဿနာဖြေရှင်းရန်။
  • Tab: ဒေတာကော်လံများတွင် ကော်မာ သို့မဟုတ် semicolon ပါဝင်နိုင်သည့်အခါ အကောင်းဆုံးရွေးချယ်မှု။

သတိပြုရန်: CSV ဖိုင်တွင် delimiter ကို ပြောင်းလဲပါက ဇယားကွက်ဖွင့်သောအခါ column များ မှန်ကန်စွာ ခွဲခြားနိုင်ရန် သင့်လျော်သော delimiter ကိုရွေးချယ်ရန် လိုအပ်ပါသည်။

ဒေတာအမျိုးအစား ဆုံးရှုံးခြင်း (Type Loss) နှင့် CSV Quoting

JSON မှ CSV သို့ပြောင်းလဲသောအခါ ဒေတာအမျိုးအစား (data type) ဆုံးရှုံးမှုသည် မလွှဲမရှောင်သာပါ။

JSON အမျိုးအစား CSV တွင် ကိုယ်စားပြုပုံ ဥပမာ
ဂဏန်း (Integer/Float) စာသား (String) 30"30" (သို့သော် leading zero များ ဆုံးရှုံးမည် – "01""1")
Boolean စာသား true"true", false"false"
null စာသား null"null" (သို့မဟုတ် ဗလာကွက်)
စာသား (String) စာသား (Quoting ကိုလိုက်နာ) "Aung, Mg""Aung, Mg"

CSV တွင် ကော်မာ၊ စာကြောင်းသစ် (newline) သို့မဟုတ် ကိုးကားသင်္ကေတ (double quote) ပါဝင်သော စာသားများကို ကောင်းမွန်စွာ ကိုင်တွယ်ရန် quoting စည်းမျဉ်းများ လိုအပ်ပါသည်။ ဤကိရိယာသည် ဤစည်းမျဉ်းများကို အလိုအလျောက် လိုက်နာပြီး စာသားများကို ကိုးကားသင်္ကေတဖြင့် ဝန်းရံပေးသည်။ သို့သော် ဂဏန်းများ၏ ရှေ့ဆုံးမှ သုညများ (leading zeros) ဆုံးရှုံးခြင်း ကို ကာကွယ်ရန် အသုံးပြုသူဘက်မှ ကြိုတင်ပြင်ဆင်မှု (ဥပမာ CSV ဖိုင်ဖွင့်သောအခါ column ကို text format အဖြစ်သတ်မှတ်ခြင်း) လိုအပ်နိုင်သည်။

ကန့်သတ်ချက်များနှင့် အမှားသတင်းစကားများ

ကိရိယာတွင် အောက်ပါကန့်သတ်ချက်များ ရှိပြီး ဖြတ်ကျော်ပါက သက်ဆိုင်ရာ အမှားသတင်းစကားများ ပေါ်လာပါမည်။

  • ဖိုင်အရွယ်အစား ကန့်သတ်ချက်: ဖိုင်အရွယ်အစားသည် သတ်မှတ်ထားသော အမြင့်ဆုံးထက် ကြီးပါက "This file is too large. Use a file under ‹max›." ဟူသော အမှားပေါ်လာပါမည်။ (ဤနေရာတွင် ‹max› သည် သတ်မှတ်ထားသော အရွယ်အစားဖြစ်သည်။)
  • အတန်းနှင့်ကော်လံ ကန့်သတ်ချက်: ဇယားတွင် အတန်း (row) အရေအတွက်သည် သတ်မှတ်ထားသော အများဆုံးထက် ပိုများပါက "This table has more than ‹max› rows." ဟူသော အမှားပေါ်လာပါမည်။ ကော်လံ (column) များအတွက်လည်း အလားတူ အမှားရှိပါသည်။
  • အခြားအမှားများ: ဖိုင်ရွေးချယ်မှုမရှိပါက "Choose one file first."၊ JSON/CSV/XLSX မဟုတ်သော ဖိုင်ကို ရွေးချယ်ပါက "Choose a CSV, JSON or XLSX file."၊ ပြောင်းလဲမှုကြာမြင့်လွန်းပါက "This conversion is taking too long. Try a smaller file." စသည်ဖြင့် အမှားများပေါ်လာပါမည်။

အမေးများသောမေးခွန်းများ (FAQ)

မေး- JSON တွင် nested array ပါဝင်နေပါက မည်သို့ဖြစ်မည်နည်း။ JSON ဖိုင်သည် အရာဝတ္ထုများ၏ စာရင်းပုံစံ (array of objects) မဟုတ်ဘဲ nested array များပါဝင်ပါက အရာဝတ္ထုတစ်ခုလုံးကို dot-path ဖြင့် ပြားချပ်ရန် ခက်ခဲသည်။ ဤကိရိယာသည် array of arrays ပုံစံဖြင့် အသိအမှတ်ပြုပြီး အတွင်းစာရင်းများကို row များအဖြစ် သတ်မှတ်ကာ ဒြပ်စင်များကို column များအဖြစ် သတ်မှတ်ပေးသည်။

မေး- CSV ဖိုင်ကို Excel သို့မဟုတ် Google Sheets တွင် ဖွင့်သောအခါ ဂဏန်းများ၏ ရှေ့ဆုံး သုညများ ပျောက်သွားသည်။ မည်သို့ဖြေရှင်းရမည်နည်း။ ၎င်းသည် CSV ဖိုင်များ၏ ဘုံပြဿနာတစ်ခုဖြစ်သည်။ ဖြေရှင်းနည်းများမှာ (၁) CSV ဖိုင်ကို Notepad ကဲ့သို့သော စာသားတည်းဖြတ်ကိရိယာဖြင့်ဖွင့်ကာ ကော်မာများပါဝင်သော ဆဲလ်များကို ကိုးကားသင်္ကေတဖြင့် ဝန်းရံခြင်း (၂) Excel တွင် ဖွင့်သောအခါ "From Text/CSV" option ကိုသုံးကာ column တစ်ခုချင်းစီအတွက် "Text" format ကိုရွေးချယ်ခြင်း ဖြစ်သည်။

မေး- ဤကိရိယာသည် XLSX ဖိုင်ကိုလက်ခံသည်ဟုဆိုသော်လည်း ၎င်းသည် JSON မှ CSV သို့ပြောင်းရန် ကိရိယာဖြစ်သည်။ ဘာကြောင့် XLSX ကိုလက်ခံသနည်း။ ဤကိရိယာသည် JSON မှ CSV ကိုအဓိကထားသော်လည်း ပိုမိုအဆင်ပြေစေရန် XLSX ဖိုင်များကိုလည်း input အဖြစ်လက်ခံပြီး ၎င်းတို့ကို JSON သို့ခေတ္တပြောင်းလဲကာ CSV အဖြစ် ပြောင်းလဲပေးသည်။ သို့သော် XLSX ဖိုင်များအတွက် သီးသန့်ကိရိယာ (Excel to CSV) ကိုအသုံးပြုရန် အကြံပြုပါသည်။

မေး- ပြောင်းလဲမှုပြီးသွားသော CSV ဖိုင်တွင် ဇယား၏ခေါင်းစီး (header) ပါဝင်ပါသလား။ ဟုတ်ကဲ့။ JSON ဖိုင်သည် array of objects ပုံစံဖြစ်ပါက object များ၏ key များကို dot-path notation ဖြင့် ခေါင်းစီး (header row) အဖြစ်ထည့်သွင်းပေးပါသည်။ Array of arrays ပုံစံဖြစ်ပါက header row မပါဝင်ပါ။

မေး- ဤကိရိယာသည် ဖိုင်အများအပြားကို batch အလိုက်ပြောင်းလဲပေးနိုင်ပါသလား။ မဟုတ်ပါ။ ဤကိရိယာသည် တစ်ကြိမ်လျှင် JSON ဖိုင်တစ်ခုသာ ပြောင်းလဲပေးနိုင်သည်။

မေး- ပြောင်းလဲမှုလုပ်ငန်းစဉ်သည် အချိန်ကြာမြင့်နေပါက မည်သို့လုပ်ဆောင်ရမည်နည်း။ ဖိုင်အရွယ်အစားကြီးမားခြင်း သို့မဟုတ် JSON ဖိုင်တွင် nested structure အလွန်ရှုပ်ထွေးခြင်းတို့ကြောင့် ဖြစ်နိုင်သည်။ "This conversion is taking too long. Try a smaller file." ဟူသော အမှားပေါ်လာပါက ဖိုင်အရွယ်အစားကို လျှော့ချရန် သို့မဟုတ် JSON ဖိုင်ကို ရှင်းလင်းအောင်ပြင်ဆင်ရန် လိုအပ်ပါသည်။