የJSON ወደ CSV መቀየሪያ

JSONን ወደ CSV በመስመር ላይ ይቀይሩ — ነጻ፣ ፈጣን እና ግላዊ። ፋይልዎ በብሮውዘርዎ ውስጥ ነው የሚሰራው፣ መቼም ወደ ሰርቨር አይጫንም።

የCSV መለያያ
ውጤት

የተቀየሩ ፋይሎች እና ቅድመ-ዕይታ እዚህ ይታያሉ።

ዝግጁ። ለመቀየር የሰንጠረዥ ፋይል ይምረጡ።

መቀየሩ እንዴት እንደሚሰራ

  • የነገሮች ድርድር (array of objects) ረድፎች እና አምዶች ይሆናል፤ የተከተቱ ነገሮች (nested objects) እንደ address.city ባሉ ባለ ነጥብ-ቁልፍ አምዶች ይዘረጋሉ።
  • ከውሂብዎ ጋር የሚዛመደውን መለያያ (delimiter) ይምረጡ — ኮማ (comma)፣ ሰሚኮለን (semicolon) ወይም ታብ (tab)።

የእርስዎ የሰንጠረዥ ፋይል በብሮውዘርዎ ውስጥ ነው የሚቀየረው። ወደ BroBroGo ምንም ነገር አይሰቀልም።

ተደጋግመው የሚነሱ ጥያቄዎች (FAQ)

JSONን ወደ CSV እንዴት መቀየር እችላለሁ?

የJSON ፋይልዎን እዚህ ይጎትቱ እና መቀየር የሚለውን ጠቅ ያድርጉ — የCSV ፋይሉ ከውጤቱ ቅድመ-ዕይታ ጋር በሰከንዶች ውስጥ ለማውረድ ዝግጁ ይሆናል። ሁሉም ነገር በእርስዎ መሣሪያ ላይ ይሠራል።

ምን ያህል ትልቅ ፋይል መቀየር እችላለሁ?

በአንድ ፋይል እስከ 8 MB፣ 10,000 ረድፎች እና 200 አምዶች። ትላልቅ የውሂብ ስብስቦችን መጀመሪያ ወደ ትናንሽ ፋይሎች መከፋፈል ይመረጣል።

የJSON እና የCSV መዋቅራዊ ልዩነቶች እና የልወጣው ተፈጥሮ

JSON (JavaScript Object Notation) እና CSV (Comma-Separated Values) በውሂብ ልውውጥ እና በማከማቻ ረገድ በስፋት ጥቅም ላይ የሚውሉ ሁለት መዋቅራዊ ቅርጸቶች ናቸው። ሆኖም በመካከላቸው ያለው የንድፍ ልዩነት መሰረታዊ ነው። ይህ የመስመር ላይ መገልገያ ከሌሎች ተራ የፋይል መቀየሪያዎች (ለምሳሌ ከCSV ወደ Excel ወይም ከExcel ወደ JSON) የሚለየው ተዋረድ ያለው (hierarchical) እና በግልጽ የተቀመጡ የውሂብ ዓይነቶች (typed data) ያሉት የ JSON ፋይልን ወደ ጠፍጣፋ (flat) እና ምንም ዓይነት የውሂብ ዓይነት ወደሌለው (untyped) የ CSV ሰንጠረዥ የሚቀይር በመሆኑ ነው።

JSON እንደ ነገሮች (objects)፣ ድርድሮች (arrays)፣ ቁጥሮች (numbers)፣ ቡሊያኖች (booleans) እና ባዶ እሴቶችን (null) በውስብስብ እና በተደራራቢ መዋቅሮች ውስጥ መያዝ ይችላል። በአንፃሩ የ CSV ቅርጸት ምንም ዓይነት የውሂብ ዓይነት መለያ የሌለው፣ ተደራራቢ መዋቅርን የማይደግፍ እና ከአንድ ሰንጠረዥ በላይ መያዝ የማይችል ጠፍጣፋ ጽሑፍ ነው።

በዚህ ልወጣ ወቅት በJSON ውስጥ ያሉ የውሂብ ዓይነቶች በሙሉ ይጠፋሉ፤ ሁሉም እሴቶች በCSV ውስጥ ወደ ተራ ሕብረ-ቁምፊ (string) ይቀየራሉ። እንዲሁም የተደራራቢ የJSON ነገሮችን (nested objects) ወደ ጠፍጣፋ የCSV ሰንጠረዥ ለመቀየር መገልገያው የነጥብ-መንገድ ምልክትን (dot-path notation) ይጠቀማል። ለምሳሌ በJSON ውስጥ የሚገኝ {"address": {"city": "Addis Ababa"}} የሚል የተደራረበ መዋቅር፣ በCSV ውስጥ የዓምድ ስሙ address.city ተብሎ የሚቀየር ሲሆን እሴቱ ደግሞ Addis Ababa ይሆናል።

የድርድር መዋቅሮችን በተመለከተ፣ የነገሮች ድርድር (arrays of objects) ወደ ሰንጠረዥ ረድፎች የሚቀየሩ ሲሆን፣ የድርድር ድርድሮች (arrays of arrays) ደግሞ በተመሳሳይ ሁኔታ እንደ ረድፎች ይያዛሉ። ነገር ግን በዚህ ልወጣ ወቅት ማንኛውም ዓይነት የJSON ውስብስብ ተዋረድ፣ በርካታ ሉሆች (sheets) እና ቅርጸቶች ሙሉ በሙሉ እንደሚጠፉ ማወቅ ያስፈልጋል።


የግብዓት እና የውጤት መዋቅር ዝርዝር መግለጫ

ይህ መገልገያ ለተጠቃሚዎች ምቹ እና ፈጣን አገልግሎት ለመስጠት የተወሰኑ ግብዓቶችን ይቀበላል፣ እንዲሁም ተገቢውን የውጤት መረጃ ያመነጫል።

የሚጠበቁ ግብዓቶች (Inputs)

  • ነጠላ የJSON ፋይል፦ ተጠቃሚው አንድ የJSON ፋይል መርጦ ማስገባት ወይም በቀጥታ በመጎተት እና በመጣል (drag and drop) ወደ መገልገያው ማስገባት አለበት። ምንም እንኳን መገልገያው በቴክኒክ ደረጃ ሌሎች የፋይል ቅርጸቶችን (እንደ CSV, JSON, XLSX ያሉ) መለየት ቢችልም፣ ለዚህ ገጽ ልወጣ የሚመለከተው የ JSON ፋይል ብቻ ነው።
  • የCSV መለያያ ምርጫ (Delimiter)፦ የውጤት ፋይሉ ዓምዶች በምን ዓይነት ምልክት መለየት እንዳለባቸው ተጠቃሚው መምረጥ ይችላል። የሚገኙት አማራጮች የሚከተሉት ናቸው፦
    • ኮማ (Comma - ,)
    • ሰሚኮለን (Semicolon - ;)
    • ታብ (Tab - \t)

የሚመነጩ ውጤቶች (Outputs)

  • ለማውረድ የተዘጋጀ የCSV ፋይል፦ ልወጣው እንደተጠናቀቀ በቀጥታ ወደ አካባቢያዊ መሣሪያዎ ማውረድ የሚችሉት የCSV ፋይል ይዘጋጃል።
  • የተቀየረው ሰንጠረዥ ቅድመ-ዕይታ (Preview)፦ የተለወጠውን ውሂብ ቅርጽ ከመውረዱ በፊት በገጹ ላይ በሰንጠረዥ መልክ መመልከት ይቻላል።
  • የረድፍ እና የዓምድ ብዛት (Row and Column count)፦ በልወጣው የተፈጠሩት ጠቅላላ የረድፎች እና የዓምዶች ብዛት በግልጽ ይታያል።
  • የውጤት ፋይል መጠን (Output file size)፦ የተቀየረው የCSV ፋይል በኪሎባይት (KB) ወይም በሜጋባይት (MB) ያለውን መጠን ያሳያል።

የJSON ውሂብ "የሰንጠረዥ ቅርጽ" (Table-shaped) የመሆን አስፈላጊነት

አንድን የJSON ፋይል በተሳካ ሁኔታ ወደ CSV ለመቀየር ፋይሉ የግድ "የሰንጠረዥ ቅርጽ" (table-shaped) መያዝ አለበት። JSON በጣም ተለዋዋጭ ከመሆኑ የተነሳ ማንኛውንም መደበኛ ያልሆነ ውሂብ ሊይዝ ይችላል፤ ነገር ግን CSV ረድፎች እና ዓምዶች ያሉት ወጥ ሰንጠረዥ በመሆኑ፣ ልወጣው እንዲሠራ የJSON ፋይሉ በሚከተሉት ሁለት መዋቅሮች በአንዱ የተገነባ መሆን አለበት፦

  1. የነገሮች ድርድር (Arrays of Objects)፦ ይህ በጣም የተለመደው የሰንጠረዥ ውሂብ መግለጫ መንገድ ነው። በዚህ መዋቅር ውስጥ እያንዳንዱ ነገር (object) አንድ የሰንጠረዥ ረድፍ የሚወክል ሲሆን፣ በነገሩ ውስጥ ያሉ ቁልፎች (keys) ደግሞ የዓምድ ስሞች ይሆናሉ። ለምሳሌ፦

    [
      {"ስም": "አልማዝ", "ዕድሜ": 25, "ከተማ": "አዳማ"},
      {"ስም": "በቀለ", "ዕድሜ": 30, "ከተማ": "ሐዋሳ"}
    ]
    

    ይህ መዋቅር በቀጥታ ስም፣ ዕድሜ እና ከተማ የሚሉ ዓምዶች ያሉት ባለ ሁለት ረድፍ ሰንጠረዥ ይሆናል።

  2. የድርድሮች ድርድር (Arrays of Arrays)፦ በዚህ ጊዜ ዋናው ድርድር በውስጡ ሌሎች ድርድሮችን ይይዛል። እያንዳንዱ ውስጣዊ ድርድር አንድ ረድፍ የሚወክል ሲሆን፣ ምንም ዓይነት የቁልፍ ስሞች (object keys) አይኖሩም። እሴቶቹ በቅደም-ተከተላቸው መሠረት በዓምዶች ውስጥ ይቀመጣሉ።

የገባው የJSON ፋይል ከነዚህ ሁለት መዋቅሮች ውጪ ከሆነ ወይም የተበላሸ የኮድ ስህተት ካለበት፣ መገልገያው "This JSON is invalid or not table-shaped." የሚል የስህተት መልዕክት ያሳያል። ስለዚህ ልወጣውን ከመጀመርዎ በፊት የፋይሉን መዋቅር መፈተሽ አስፈላጊ ነው።


የውሂብ ዓይነቶች መጥፋት፣ መሪ ዜሮዎች እና የጥቅስ ምልክቶች ደንብ

ወደ CSV በሚደረግ ልወጣ ወቅት ሊከሰቱ የሚችሉ የውሂብ ለውጦችን እና ስነ-ስርዓቶችን አስቀድሞ መረዳት የተሳሳቱ ድምዳሜዎችን ለማስወገድ ይረዳል።

የውሂብ ዓይነቶች መጥፋት (Data Type Loss)

JSON እንደ true ወይም false ያሉ የቡሊያን እሴቶችን፣ የቁጥር እሴቶችን እና ምንም ውሂብ የሌለበትን null በራሳቸው የውሂብ ዓይነት ይይዛል። በCSV ውስጥ ግን እነዚህ ሁሉ ልዩነቶች ጠፍተው ወደ ተራ ጽሑፍ (strings) ይቀየራሉ። ለምሳሌ፣ null የሚለው እሴት በCSV ውስጥ ባዶ ቦታ ሆኖ ሊቀመጥ ይችላል፤ ቡሊያኖችም እንዲሁ ተራ "true" ወይም "false" ጽሑፎች ይሆናሉ።

የመሪ ዜሮዎች መጥፋት አደጋ (Loss of Leading Zeros)

ይህ በጣም የተለመደ የውሂብ መበላሸት ችግር ነው። በJSON ውስጥ የስልክ ቁጥር ወይም የመታወቂያ ቁጥር በጽሑፍ መልክ "0911000000" ተብሎ ቢቀመጥም፣ ወደ CSV ሲቀየር ተራ ጽሑፍ ሆኖ ይጻፋል። ሆኖም ይህንን የCSV ፋይል እንደ Microsoft Excel ባሉ የተመን ሉህ (spreadsheet) ፕሮግራሞች ሲከፍቱት፣ ፕሮግራሞቹ እሴቱን እንደ ቁጥር በመቁጠር መሪ ዜሮውን (0) ሊያጠፉት ይችላሉ። ይህ የመገልገያው ስህተት ሳይሆን የተመን ሉህ ፕሮግራሞች CSVን የሚያነቡበት መንገድ ያስከተለው ችግር ነው።

የጥቅስ ምልክቶች አተገባበር (Quoting Rules)

የCSV ዓምዶች በኮማ ወይም በሌላ ምልክት የሚለዩ በመሆናቸው፣ በውሂቡ ውስጥ ራሱ ኮማ፣ አዲስ መስመር (line break) ወይም የጥቅስ ምልክት (") ካለ የሰንጠረዡ መዋቅር ሊበላሽ ይችላል። ይህ መገልገያ እንዲህ ዓይነት እሴቶችን በራስ-ሰር በጥቅስ ምልክት ውስጥ በማስገባት (quoting rules) የCSV ፋይሉ ደረጃውን የጠበቀ እና በሌሎች መተግበሪያዎች ሲከፈት የማይበላሽ መሆኑን ያረጋግጣል።


ሙሉ በሙሉ በአሳሽ ውስጥ የሚከናወን ሂደት እና የደህንነት ጥቅሞች

ዛሬ ባለው የዲጂታል ዓለም ውስጥ የውሂብ ግላዊነት እና ደህንነት ዋነኛ ትኩረት የሚሰጠው ጉዳይ ነው። ብዙ የመስመር ላይ ፋይል መቀየሪያዎች የእርስዎን ፋይል ወደ ራሳቸው የርቀት አገልጋይ (remote server) በመስቀል ልወጣውን ካከናወኑ በኋላ መልሰው እንዲያወርዱ ያደርጋሉ። ይህ አሠራር ሚስጥራዊ የሆኑ የንግድ ውሂቦችን፣ የግል መረጃዎችን ወይም የደንበኞችን መረጃዎች ለደህንነት አደጋ ሊያጋልጥ ይችላል።

ይህ መገልገያ ግን ሙሉ በሙሉ በተለየ መንገድ ይሠራል። ሁሉም የልወጣ ሂደት የሚከናወነው በእርስዎ መሣሪያ ላይ ባለው የበይነመረብ አሳሽ (client-side browser) ውስጥ ብቻ ነው። ፋይሉን ወደ ገጹ ሲያስገቡ ውሂቡ ወደ የትኛውም የርቀት አገልጋይ አይላክም፤ አይሰቀልምም። መገልገያው የአሳሹን የጃቫስክሪፕት (JavaScript) ኃይል በመጠቀም ልወጣውን በሰከንዶች ውስጥ በአካባቢው ያከናውናል፦

  • ፍጹም የደህንነት ዋስትና፦ የፋይናንስ መረጃዎች፣ የኤፒአይ (API) ምላሾች ወይም የኩባንያ ውሂቦች ከኮምፒውተርዎ ሳይወጡ ይቀየራሉ።
  • የፍጥነት ብልጫ፦ ፋይልን ወደ አገልጋይ የመስቀል እና የመውረድ የኔትወርክ ጊዜ ስለማይኖር ልወጣው ወዲያውኑ ይጠናቀቃል።
  • ያለ በይነመረብ ግንኙነት መሥራት፦ ገጹ አንዴ ከተጫነ በኋላ፣ ያለ ምንም የኢንተርኔት ግንኙነት (offline) ፋይሎችን መለወጥ ይቻላል።

የስህተት መልዕክቶች እና ወሰኖች መረዳት

ልወጣው ያለ ምንም እንከን እንዲከናወን መገልገያው የተወሰኑ የፋይል መጠን፣ የረድፍ እና የዓምድ ገደቦችን ያስገድዳል። እነዚህን ገደቦች ሲያልፉ ወይም የተሳሳቱ ፋይሎችን ሲያስገቡ መገልገያው የሚከተሉትን ትክክለኛ የስህተት መልዕክቶች ያሳያል፦

  • "This file is too large. Use a file under ‹max›."፦ ይህ መልዕክት የሚመጣው ያስገቡት የJSON ፋይል መጠን መገልገያው በአሳሹ ውስጥ ማቀናበር ከሚችለው ከፍተኛ ገደብ በላይ ሲሆን ነው። ለስላሳ አሠራር ሲባል ከተፈቀደው መጠን በታች የሆኑ ፋይሎችን መጠቀም ያስፈልጋል።
  • "This table has more than ‹max› rows."፦ የJSON ፋይሉ በተሳካ ሁኔታ ቢተነተንም፣ ወደ ሰንጠረዥ ሲቀየር ያለው የረድፎች ብዛት ከተፈቀደው ከፍተኛ ገደብ በላይ ከሆነ ይህ ስህተት ይታያል።
  • "This table has more than ‹max› columns."፦ በተመሳሳይ ሁኔታ፣ የተደራረቡ የJSON ቁልፎች ተዘርግተው ወደ ዓምድ ሲቀየሩ የዓምዶቹ ብዛት ከመጠን በላይ ከሆነ ይህ ስህተት ይከሰታል።
  • "Choose one file first."፦ ምንም ፋይል ሳይመርጡ የልወጣ ሂደቱን ለመጀመር ሲሞክሩ የሚታይ መልዕክት ነው።
  • "Choose a CSV, JSON or XLSX file."፦ መገልገያው የማይደግፈውን ሌላ የፋይል ዓይነት (ለምሳሌ PDF ወይም ምስል) ለማስገባት ሲሞክሩ የሚታይ ማስጠንቀቂያ ነው።
  • "Choose a different output format."፦ የተመረጠው የውጤት ፎርማት ከተገቢው አሠራር ውጪ ሲሆን የሚከሰት ስህተት ነው።
  • "Could not convert this file."፦ ፋይሉ በተለያዩ ምክንያቶች (ለምሳሌ በከፊል የተበላሸ ኮድ ካለው) ሊነበብ ወይም ሊቀየር ካልቻለ የሚመጣ አጠቃላይ የስህተት መልዕክት ነው።
  • "Conversion cancelled."፦ ተጠቃሚው የልወጣ ሂደቱን ራሱ ካቋረጠው የሚታይ መልዕክት ነው።
  • "This conversion is taking too long. Try a smaller file."፦ በአሳሹ ውስጥ ያለው የሂደት ማህደረ ትውስታ (RAM) ወይም ሲፒዩ (CPU) ልወጣውን በወቅቱ ማጠናቀቅ ካልቻለ የሚሰጥ ምክር ነው።

ተዘውትረው የሚጠየቁ ጥያቄዎች (FAQ)

ጥያቄ፦ ይህ መገልገያ የJSON ውሂቤን ወደ የትኛውም አገልጋይ ይሰቅላል?
መልስ፦ በፍጹም። ሁሉም የውሂብ ትንተና እና የልወጣ ሂደት ሙሉ በሙሉ በእርስዎ የበይነመረብ አሳሽ (browser) ውስጥ ይከናወናል። ምንም ዓይነት ውሂብ ወደ ውጭ አገልጋይ አይላክም።

ጥያቄ፦ "This JSON is invalid or not table-shaped" የሚለው ስህተት ለምን መጣብኝ?
መልስ፦ ይህ ስህተት የሚመጣው የJSON ፋይልዎ መዋቅራዊ ስህተት ስላለበት (ለምሳሌ የተዛቡ ቅንፎች ካሉበት) ወይም ውሂቡ በሰንጠረዥ መልክ ሊቀመጥ በሚችል የድርድር (Array) ቅርጽ ስላልተዋቀረ ነው። ፋይልዎ የነገሮች ድርድር ወይም የድርድሮች ድርድር መሆኑን ያረጋግጡ።

ጥያቄ፦ በJSON ውስጥ የነበሩ የተደራረቡ ዕቃዎች (nested objects) በCSV ውስጥ እንዴት ነው የሚቀመጡት?
መልስ፦ መገልገያው የተደራረቡ መዋቅሮችን ወደ አንድ ጠፍጣፋ ረድፍ ለመቀየር የነጥብ-መንገድ ምልክትን (dot-path notation) ይጠቀማል። ለምሳሌ {"info": {"age": 20}} የሚለው ውሂብ በCSV ውስጥ የዓምድ ስሙ info.age ተብሎ የሚቀመጥ ሲሆን እሴቱ ደግሞ 20 ይሆናል።

ጥያቄ፦ በልወጣው ወቅት መሪ ዜሮዎች (leading zeros) እንዳይጠፉ ምን ማድረግ እችላለሁ?
መልስ፦ መገልገያው በCSV ፋይሉ ውስጥ መሪ ዜሮዎችን በትክክል ያስቀምጣል። ነገር ግን የCSV ፋይሉን በExcel ሲከፍቱት ቁጥሩን በራስ-ሰር ስለሚቀይረው መሪ ዜሮዎቹ ሊጠፉ ይችላሉ። ይህንን ለመከላከል የCSV ፋይሉን ወደ Excel በቀጥታ ከመክፈት ይልቅ በExcel ውስጥ ያለውን "Import Text/CSV" አማራጭ በመጠቀም የዓምዱን ዓይነት ወደ "Text" መቀየር ያስፈልጋል።

ጥያቄ፦ ምን ዓይነት የCSV መለያያዎችን (delimiters) መጠቀም እችላለሁ?
መልስ፦ እንደ ፍላጎትዎ ኮማ ( , )፣ ሰሚኮለን ( ; ) ወይም ታብ ( \t ) መምረጥ ይችላሉ። ይህ በተለይ በተለያዩ አገራት የፊደል እና የቁጥር አጻጻፍ ደረጃዎች (ለምሳሌ ሰሚኮለን እንደ መለያያ በሚጠቀሙ የአውሮፓ አገራት መዋቅሮች) ውስጥ ለሚሠሩ ባለሙያዎች ጠቃሚ ነው።