Maxaa ka dhigay qalabkan mid gaar ah?
Qalabkan wuxuu u rogaa faylasha JSON (JavaScript Object Notation) oo ah qaab xogeed kala sareeya oo noocyo (types) leh, una beddelaa CSV (Comma-Separated Values) oo ah miis fidsan oo aan noocyo lahayn. Farqiga ugu weyn waa in JSON uu taageero shay (objects), arrays, tirooyin, run/been (booleans), iyo null ku dhex jira qaabab isku dhegan (nested), halka CSV aysan hayn wax noocyo ah (types), ma u oggola in qaybaha xogta isku dhex qariyaan, mana laha warqado badan (sheets) sida Excel. Marka la beddelayo, dhammaan macluumaadka noocyada, qaab-dhismeedka isku dhegan, iyo qaabaynta (formatting) waa la tuuraa.
Waxa kasii kala duwan: waa in habka beddelka uu fidsadaa (flatten) qaabka kala sareeya ee JSON isagoo u rogaya miis fidsan oo CSV ah. Tusaale ahaan, haddii JSON-kaagu yahay shay (object) leh guryo hoose (nested fields) sida "address": {"city": "Mogadishu", "street": "Xaafadda Waberi"}, qalabku wuxuu u rogi doonaa labo tiir oo kala ah address.city iyo address.street. Tan waxaa loo yaqaan "dot-path notation" – hab lagu muujiyo jidka gudaha ee shayga hoose.
Waxa kale oo qalabkan ka dhigaya mid gaar ah waa in hawlaha oo dhami ay ka dhacaan browser-kaaga, faylasha laguma soo geliyo server-ka shisheeye. Tani waxay muhiim u tahay dadka doonaya ilaalinta xogta (privacy) – ma jiro cid kale oo aragta xogtooda. Dhammaan faylasha waa lagu shaqeeyaa gudaha kombiyuutarkaaga.
Sida ay u shaqeyso habka beddelka JSON-ka-CSV
Qalabku wuxuu kaa rabaa inaad soo gasho (upload) ama ku soo riddo (drag & drop) fayl JSON ah. Kadib waa inaad doorataa delimiter-ka CSV-ga: Comma (,), Semicolon (;), ama Tab. Intaa ka dib, qalabku wuxuu tusaa dulucda (preview) miiska la rogay, wuxuuna ku tusayaa tirada safafka iyo tirada tiirarka, iyo cabbirka faylka soo baxaya. Markaad ogolaato, faylka CSV waa la soo dajin karaa.
Waa kuwa loo baahan yahay in JSON-kaagu yahay "qaab miis leh" (table-shaped) – macneheedu waa waa inuu yahay hal array oo shay (objects) ah, ama array of arrays. Haddii JSON-kaagu uusan ahayn qaabkan, qalabku wuxuu soo saari doonaa qaladka: "This JSON is invalid or not table-shaped."
Marka la eego sida uu u fidsado (flatten):
- Array of objects: mid kasta oo shay (object) ah wuxuu noqonayaa saf (row). Astaanta (keys) shayga waxay noqonayaan tiirar. Haddii shayga uu leeyahay guryo hoose (nested objects), waa la fidsadaa iyadoo la isticmaalayo dot-path (tusaale:
person.name,person.age). - Array of arrays: mid kasta oo array gudaha ah wuxuu noqonayaa saf, tiirarkuna waxay yihiin walxaha array-ga. Ma jiro astaan (keys) oo la adeegsado.
Waa kuwa dhammaan noocyada xogta ee JSON (tirooyin, run/been, null) waxay ku shubanayaan CSV qaab qoraal (string) ah – tirooyinka sida 123 waxay noqonayaan qoraalka "123", true wuxuu noqonayaa "true", null wuxuu noqonayaa "null". Natiijo ahaan, macluumaadka noocyada (type information) waa la lumiyaa. Tusaale: tirooyinka horeeya eber (leading zeros), sida 00123, waxay u ekaan doonaan 123 sababtoo ah CSV ma xafido qaabka tirooyinka.
Xulashada delimiter-ka iyo saamaynta ay ku leedahay CSV-ga
Delimiter-ku waa astaanta loo adeegsado in lagu kala sooco tiirarka CSV-ga. Kala duwanaanshaha ugu caansan waa:
| Delimiter | Isticmaalka caadiga ah |
|---|---|
Comma (,) |
Caadi ahaan luqadaha Ingiriisiga iyo Ameerikada |
Semicolon (;) |
Luqadaha reer Yurub sida Jarmal, Faransiis (halka comma loo isticmaalo barta tirooyinka) |
Tab (\t) |
Hababka xogta ee u baahan inaysan jirin wax kala go'ya |
Qalabkani wuxuu ku saamaynayaa qaabka CSV-ga soo baxaya. Haddii aad doorato semicolon, inta badan barnaamijyada sida Excel-ka qaarkood (noocyada European) waxay si fiican u akhriyaan CSV-ga. Haddii aad qalad u doorato delimiter-ka, CSV-gaagu wuxuu u ekaan karaa qoraal isku dhafan (garbled) marka la furayo barnaamijyada kale.
Qalabku wuxuu si otomaatik ah u qaadeyaa (quote) qiimaha ay ku jiraan comma, line breaks, ama quotation marks gudaha CSV-ga. Tusaale: haddii shayga JSON uu leeyahay qoraal sida "Hello, world", qalabku wuxuu ku qori doonaa CSV qaabkan: "Hello, world". Haddii qoraalka ku jiraan line breaks, sidoo kale waa la qaadeyaa. Tani waa qawaaniinta RFC 4180 ee CSV.
Xaqiiqooyinka muhiimka ah ee beddelka: noocyada xogta, qaab-dhismeedka, iyo xaddidaadaha
Waa kuwa qalabkani wuxuu leeyahay xaddidaadyo iyo shuruudo:
-
Noocyada xogta waa la tuuraa: JSON-ka waxaa ka jiri kara tirooyin, run/been, null, arrays, iyo objects. CSV-ga dhammaan waxay noqonayaan qoraal (string). Tusaale ahaan, tirooyinka
0.5waxay noqonayaan"0.5", null wuxuu noqonayaa"null". Tani waxay khalad ku noqon kartaa haddii aad ku tiirsan tahay in noocyada tirada (integer, float) lagu ilaaliyo. -
Qaab-dhismeedka isku dhegan waa la fidsadaa: JSON waxay u oggoshahay in shay (object) uu ku jiro shay kale. CSV ma oggola, marka qalabku wuxuu isticmaalaa dot-path. Tusaale:
{"address": {"city": "Mogadishu", "street": "Banaadir"}}waxay noqonaysaa laba tiir:address.cityiyoaddress.street. Haddii qaab-dhismeedku yahay mid aad u qoto dheer (deeply nested), tiirarku waxay noqon karaan kuwo badan oo dhaadheer (tusaale:data.settings.user.preferences.language). -
Xaddidaadda cabbirka faylka: Faylka JSON-ga waa inuu ka yar yahay xadka ugu weyn ee qalabku dejiyay (tiro gaar ah oo ku xusan xogta – waa in la guuso). Haddii uu weynaado, qalabku wuxuu soo saaraa: "This file is too large. Use a file under ‹max›."
-
Xaddidaadda safafka iyo tiirarka: Haddii JSON-kaagu yeesho saf (rows) tiro ka badan xadka, waa laguu sheegi doonaa: "This table has more than ‹max› rows." Sidoo kale tiirarka: "This table has more than ‹max› columns." Tani waxay ka hortagaysaa in browser-kaagu cuslaado.
-
Hawlaha oo dhami waa dhanka macmiilka (client-side): Ma jiro xog la soo geliyo server-ka shisheeye. Tani waa faa'iido weyn oo loogu talagalay dadka ka shaqeeya xogta qarsoon (sensitive data).
-
Faylka soo baxa waa diyaar u yahay in la soo dajiyo: Kadib markaad aragto dulucda, waxaad riixi kartaa badhanka "Download" si aad u soo dejiso faylka CSV. Waa laguu sheegayaa tirada safafka, tirada tiirarka, iyo cabbirka faylka (bytes).
Cilladaha iyo khaladaadka caadiga ah
Qalabkani wuxuu soo saaraa farriimo khalad ah marka ay dhacdo cillad. Waa kuwa ugu muhiimsan:
| Farriimaha khaladka | Sababta |
|---|---|
| "Choose one file first." | Lama soo gelin fayl, ama waxaa la soo geliyay in ka badan hal fayl. |
| "Choose a CSV, JSON or XLSX file." | Faylka aad soo gashay waa nooc aan la aqoonsan. |
| "Choose a different output format." | Qalabkani wuxuu u rogayaa JSON kaliya CSV – haddii aad isku daydo inaad u rogto nooc kale, waa qalad. |
| "This JSON is invalid or not table-shaped." | JSON-kaagu maaha mid sax ah (invalid) ama maaha qaab array of objects/arrays. |
| "This file is too large. Use a file under ‹max›." | Faylka waa ka weyn yahay xadka. |
| "This table has more than ‹max› rows." | Tirada safafka ayaa ka badan xadka. |
| "This table has more than ‹max› columns." | Tirada tiirarka ayaa ka badan xadka. |
| "Could not convert this file." | Cillad kale oo isbeddelka ka dhigaysa suurtagal ma aha. |
| "Conversion cancelled." | Isticmaaluhu wuu joojiyay hawsha. |
| "This conversion is taking too long. Try a smaller file." | Faylka ayaa aad u weyn ama qalabku wuu gaabiyay. |
Waxa muhiim ah in la ogaado: khalkha kasta, faylkaaguma baxo browser-ka. Dhammaan cilladdu waxay ku xiran tahay xogta gudaha. Haddii aad hesho "This JSON is invalid", hubi in JSON-kaagu yahay mid sax ah (valid JSON) iyo inuu yahay array oo shay (objects) ah kuwaas oo leh astaamo isku mid ah (consistent keys). Tusaale: [{"name":"Ali", "age":30}, {"name":"Hawa", "age":25}] waa table-shaped. Haddii aad hayso {"name":"Ali", "age":30} (object keliya), ma aha table-shaped sababtoo ah ma aha array.
FAQ – Su'aalaha soo noqnoqda
Su'aal: JSON-ka waa sax (valid), laakiin qalabka ayaa sheegay inuusan ahayn table-shaped. Maxaan sameeyaa?
Jawaab: Hubi in JSON-kaagu uu yahay array of objects (waxay ku bilaabantaa [ waxayna ku dhammaataa ]). Haddii aad hayso object keliya (sida {"name":"Ali"}), ma aha table-shaped. Waxaad u rogi kartaa array ahaan: [{"name":"Ali"}]. Sidoo kale, haddii array-gaagu uu yahay mid isku dhafan (tusaale: [{"name":"Ali"},]), qalabku ma aqoonsanayo sida uu u fidsado.
Su'aal: Ma waxaa laga yaabaa in tirooyinka horeeya eber (sida 00123) ay ku baabba'aan CSV-ga?
Jawaab: Haa. Marka uu JSON-ka u rogayo CSV, tirooyinka waa loo qoraa qaab lambar ah (number), waxaana laga saarayaa eber-ka horeeya. Tusaale: "00123" waa qoraal (string) JSON-ka, marka waa la ilaaliyaa. Laakiin haddii aad ku qortay 123 (tiro), waxay noqonaysaa 123 oo eber-la'aan. Si aad u ilaaliso eber-ka hore, waxaad uga dhigan kartaa qoraal (string) buuxa: "00123".
Su'aal: Xogta qarsoon (sensitive) ma baxaysaa browser-ka?
Jawaab: Maya. Dhammaan hawshu waxay ka dhacdaa gudaha browser-kaaga. Ma jiro xog loo soo galiyo server-ka shisheeye. Tani waxay ka dhigaysaa qalabkan mid ku habboon dadka ka shaqeeya xogta qarsoon (sida macluumaadka shaqsiyeed, bankiga, ama xog caafimaad).
Su'aal: Maxay tahay farqiga u dhexeeya isagoo u rogaya CSV iyo inuu u rogo Excel (XLSX)?
Jawaab: Qalabkani wuxuu u rogayaa JSON kaliya CSV, ma aha Excel. Haddii aad u baahan tahay XLSX, waa inaad marka hore u rogtid CSV, kadibna furtid Excel-ka oo aad keydisid sida XLSX. Farqiga weyn: CSV waa qoraal fudud (plain text), ma xafido qaabaynta (formatting), noocyada tiirarka, ama formula. Excel wuxuu ilaaliyaa.
Su'aal: JSON-ka waa array of arrays. Sidee bay tiirarku u noqonayaan?
Jawaab: Haddii aad hayso [,], safka koowaad wuxuu yeelan doonaa saddex tiir (1,2,3), safka labaad wuxuu yeelan doonaa saddex tiir (4,5,6). Tiirarku magac ma lahaan doonaan (waxaa loo yaqaan column1, column2 iwm.). Haddii inner arrays-ku leeyihiin tiro kala duwan (tusaale: [,]), tiirarka qaarkood waxay noqon karaan kuwo madhan (blank). Qalabku wuxuu buuxin doonaa meelaha bannaan iyadoo la isticmaalayo madhan (empty string).
Su'aal: Ma ayaa jira qaab loo ilaaliyo noocyada (types) xogta?
Jawaab: CSV ma ilaalin karo noocyada sida number, boolean, ama null. Dhammaan waxaa loo qoraa qaab qoraal. Haddii aad u baahan tahay in noocyada la ilaaliyo, waa inaad adeegsataa qaab kale sida JSON ama XML. Tani waa xaddidaad dabiici ah oo CSV-ga. Talo: Haddii aad dalbanayso tirooyin, waa inaad ku xoojisaa (cast) marka aad furtid barnaamijka spreadsheet (tusaale: Excel wuxuu otomaatik u aqoonsan karaa tirada).