CSV to JSON conversion എന്താണ്?
CSV (Comma-Separated Values, RFC 4180) ഒരു flat, tabular text format ആണ്; JSON (JavaScript Object Notation, RFC 8259) ഒരു tree-shaped text format ആണ്. CSV-ഇനെ JSON-ലേക്ക് convert ചെയ്ത് spreadsheet-friendly table-ഇനെ API-friendly objects-ന്റെ array ആക്കാം — ഒരൊറ്റ row പോലും വീണ്ടും type ചെയ്യാതെ, ഓരോ row-ഉം ഒരു object ആകുന്നു, header row keys ആകുന്നു.
CSV to JSON conversion എങ്ങനെ പ്രവർത്തിക്കുന്നു?
ഓരോ conversion-ഉം ബ്രൗസറിൽ locally run ആകുന്നു. ഉയർന്ന ഘട്ടങ്ങൾ:
- input pane-ൽ CSV paste ചെയ്ത് CONVERT അടിക്കുന്നു; ടൂൾ text parse ചെയ്ത് output pane-ൽ JSON objects-ന്റെ array emit ചെയ്യുന്നു.
- ഒരു character-by-character state machine (FIELD_START → IN_UNQUOTED_FIELD അല്ലെങ്കിൽ IN_QUOTED_FIELD) ഇൻപുട്ട് walk ചെയ്ത്
""quoted-quote escape,\r\n,\nrow terminators recognise ചെയ്ത് strings-ന്റെ 2-D array produce ചെയ്യുന്നു. - ആദ്യ row header ആണെങ്കിൽ, അതിന്റെ cells object keys ആകുന്നു; ഇല്ലെങ്കിൽ ടൂൾ synthetic
field0,field1, … keys generate ചെയ്യുന്നു, ഇതുവഴി ഓരോ row-ഉം ഒരു പൂർണ object-ലേക്ക് map ആകുന്നു. - Delimiter (comma, semicolon, tab, pipe, auto-detect), type coercion (numbers / booleans /
null) configurable ആണ്. Coercion on-ഉടൻ30number 30 ആകുന്നു,trueboolean ആകുന്നു; off-ഉടൻ ഓരോ cell-ഉം string ആകുന്നു. - Output read-only textarea-ൽ
JSON.stringify-formatted text ആക്കി എഴുതുന്നു; download linkapplication/json;charset=utf-8MIME type ഉൾക്കൊള്ളുന്നBlobഉണ്ടാക്കുന്നു.
ഈ ടൂൾ ഉപയോഗിച്ച് CSV JSON-ലേക്ക് convert ചെയ്യേണ്ടത് എന്തുകൊണ്ട്?
- സ്വകാര്യത: ഓരോ parse, transform pass-ഉം ബ്രൗസറിൽ. ഡേറ്റ server-ൽ ഒരിക്കലും എത്തുന്നില്ല.
- കൃത്യത: CSV parser യഥാർത്ഥ state machine ആണ്. Quoted commas (
"Bob, Jr."), embedded newlines, escaped quotes ഒരൊറ്റ cell ആക്കി parse ചെയ്യുന്നു — naivesplit(',')ഇത് തെറ്റ് ആക്കും. - തരം വിശ്വാസ്യത: ഐഛിക coercion numeric, boolean cells-ഇനെ യഥാർത്ഥ JSON numbers, booleans ആക്കുന്നു, അതിനാൽ കിട്ടുന്ന array രണ്ടാം cleanup pass ഇല്ലാതെ നേരിട്ട് ഉപയോഗിക്കാം.
- Flexibility: non-comma CSV dialects-ന് ഏത് delimiter-ഉം, ആദ്യ row header ആണോ എന്ന് തേർഡ് ചെയ്യൽ, type coercion toggle — ഓരോ ആവശ്യത്തിനും configure ചെയ്യാം.
CSV to JSON conversion-ന്റെ സാധാരണ ഉപയോഗങ്ങൾ?
CSV-ഇനെ JSON-ലേക്ക് parse ചെയ്യൽ data work, tooling-ൽ ഉടനീളം കാണുന്നു:
- API mocking: spreadsheet-ൽ നിന്ന് export ചെയ്ത CSV fixture paste ചെയ്ത് local server mock endpoint ആക്കി JSON array-ലേക്ക് convert.
- Data import: spreadsheet export (contacts, inventory, survey responses)-ഇനെ JSON array ആക്കുക — CSV parser dependency ഇല്ലാതെ application iterate ചെയ്യാം.
- Config editing: non-technical reviewers spreadsheet-ൽ cell-by-cell settings, feature flags edit ചെയ്ത്, saved CSV-ഇനെ app load ചെയ്യുന്ന JSON-ലേക്ക് convert.
CSV to JSON ഉദാഹരണം?
ആദ്യ line-ൽ name,age, രണ്ടാമത്തേതിൽ Alice,30, മൂന്നാമത്തേതിൽ "Bob, Jr.",25 paste ചെയ്ത്, comma delimiter, first row as keys, type coercion on ഉള്ള CONVERT അടിച്ചാൽ: [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — "Bob, Jr."-ൽ quoted comma ഒരൊറ്റ field-ൽ ഉൾക്കൊള്ളുന്നു, ages real JSON numbers ആകുന്നു.
ഈ CSV to JSON converter ബ്രൗസറിൽ run ആകുമോ?
അതെ. ഓരോ parse, transform pass-ഉം ബ്രൗസർ tab-ൽ JavaScript ആക്കി locally run ആകുന്നു. ടൂൾ fetch, XMLHttpRequest, navigator.sendBeacon call ചെയ്യുന്നില്ല — CSV payloads server-ലേക്ക് ഒരിക്കലും എത്തില്ല. Page load ആയ ശേഷം offline-ഉം work ചെയ്യുന്നു.
ഈ converter handle ചെയ്യാൻ കഴിയുന്ന maximum input size?
Converter ഇൻപുട്ട് മൊത്തം memory-ൽ buffer ചെയ്ത് main thread-ൽ synchronously run ആകുന്നു. 10 MB CSV (ഏകദേശം 100,000 rows) modern laptop-ൽ pause ഇല്ലാതെ convert ആകുന്നു. അതിലധികം UI stall ആകാം. Web Worker + chunked parser-ഉൾക്കൊള്ളുന്ന streamed conversion planned — ഇപ്പോൾ വലിയ datasets split ചെയ്ത് paste ചെയ്യുക.
CSV to JSON parser quoted commas, embedded newlines handle ചെയ്യുന്നത് എങ്ങനെ?
Parser ഒരു character-by-character state machine ആണ്, മൂന്ന് states (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — naive split(',') അല്ല. Double quotes-ൽ wrapped field delimiter, CR, LF, "" escaped double quote contain ചെയ്യാം field boundary break ആകാതെ. "Bob, Jr.",25 രണ്ട് fields ആക്കി parse ചെയ്യുന്നു, മൂന്ന് അല്ല.
JSON output-ൽ numbers, booleans, empty cells എങ്ങനെ typed ആകുന്നു?
Typing Type coercion toggle അനുസരിച്ചിരിക്കും. Coercion on-ൽ (default), number പോലെ തോന്നുന്ന cell JSON number ആകുന്നു, true/false booleans ആകുന്നു, literal null JSON null ആകുന്നു; ബാക്കിയെല്ലാം string ആകുന്നു. Coercion off-ൽ, ഉള്ളടക്കം എന്തായിരിക്കിലും ഓരോ value-ഉം string ആകുന്നു — leading zeros, phone numbers, ID codes intact ആക്കുന്നതിന് ഉപകരിക്കുന്നു. ചെറിയ rows-ൽ trailing empty cells empty strings ആക്കി emit ചെയ്യുന്നു, ഇതുവഴി ഓരോ object-ഉം full key set ഉൾക്കൊള്ളുന്നു.
CSV side support ചെയ്യുന്ന delimiters?
നാലു explicit delimiters: comma (,, RFC 4180 default), semicolon (;, European locales-ൽ സാധാരണ), tab (\t, TSV dialect), pipe (|). Auto-detect ഉണ്ട് — ആദ്യ 4 KB ഇൻപുട്ടിൽ quoted regions-ന് പുറത്ത് ഓരോ candidate count ചെയ്ത് ആദ്യ അഞ്ച് rows-ൽ consistent column count നൽകുന്നത് pick ചെയ്യുന്നു.
ഈ CSV to JSON converter യഥാർത്ഥ state machine ഉപയോഗിച്ച് parse ചെയ്ത് തൂവെള്ള, ഉപയോഗ-തയ്യാർ JSON emit ചെയ്യുന്നു — API call, script, code review-ലേക്ക് നേരിട്ട് paste ചെയ്യാം, ഒരൊറ്റ byte upload ആകാതെ.