CSV to JSON மாற்றம் என்றால் என்ன?
CSV (Comma-Separated Values, RFC 4180) ஒரு flat, tabular text format; JSON (JavaScript Object Notation, RFC 8259) structured data-க்கான tree-shaped text format. CSV-ஐ JSON-க்கு மாற்றுவது spreadsheet-friendly table-ஐ API-friendly objects-ன் array-ஆக மாற்றுகிறது — ஒவ்வொரு row-க்கும் ஒரு object, header row keys அளிக்கிறது — ஒரு cell-ஐ கூட மீண்டும் தட்டச்சு செய்யாமல்.
CSV to JSON மாற்றம் எவ்வாறு வேலை செய்கிறது?
ஒவ்வொரு மாற்றமும் உங்கள் உலாவியில் locally இயங்குகிறது. உயர்-நிலை படிகள்:
- input pane-ல் CSV ஒட்டி CONVERT அழுத்துகிறீர்கள்; கருவி text-ஐ parse செய்து output pane-ல் JSON objects-ன் array emit செய்கிறது.
- ஒரு character-by-character state machine (FIELD_START → IN_UNQUOTED_FIELD அல்லது IN_QUOTED_FIELD) உள்ளீட்டை நடக்கிறது,
""quoted-quote escape-ஐ கவனிக்கிறது,\r\nமற்றும்\nrow terminators இரண்டையும் அங்கீகரிக்கிறது, மற்றும் intermediate representation ஆக strings-ன் 2-D array produce செய்கிறது. - முதல் row header என்றால், அதன் cells object keys ஆகின்றன; இல்லையெனில் கருவி synthetic
field0,field1, … keys உருவாக்குகிறது, இதனால் ஒவ்வொரு row-உம் ஒரு முழு object-க்கு map ஆகிறது. - Delimiter (comma, semicolon, tab, pipe அல்லது auto-detect) மற்றும் type coercion (numbers / booleans /
null) அனைத்தும் configurable. Coercion on-உடன்30number 30 ஆகும் மற்றும்trueboolean ஆகும்; off-உடன் ஒவ்வொரு cell-உம் string-ஆக இருக்கும். - வெளியீடு read-only textarea-க்கு
JSON.stringify-formatted text ஆக எழுதப்படுகிறது, மற்றும் ஒரு download linkapplication/json;charset=utf-8MIME type-உடன் ஒருBlobbuild செய்கிறது, இதனால் ஒரே click-ல் result save செய்யலாம்.
இந்த கருவியுடன் CSV-ஐ JSON-க்கு ஏன் மாற்ற வேண்டும்?
- தனியுரிமை: ஒவ்வொரு parse மற்றும் transform pass-உம் உங்கள் உலாவியில் நடைபெறுகிறது. தரவு எங்கள் servers-ஐ அடைவதில்லை.
- சரியான தன்மை: CSV parser ஒரு real state machine. Quoted commas (
"Bob, Jr."), embedded newlines மற்றும் escaped quotes கொண்ட fields மூன்று அல்ல, ஒரு cell-க்கு parse ஆகின்றன — naivesplit(',')implementations இதை தவறாக செய்கின்றன. - வகை நம்பகத்தன்மை: விருப்பமான coercion எண் மற்றும் boolean cells-ஐ உண்மையான JSON numbers மற்றும் booleans-ஆக மாற்றுகிறது, எனவே நீங்கள் பெறும் array இரண்டாம் cleanup pass இல்லாமல் நேரடி நுகர்வுக்கு தயாராக உள்ளது.
- நெகிழ்வுத்தன்மை: non-comma CSV dialects-க்கு எந்த delimiter-ஐயும் தேர்ந்தெடுங்கள், முதல் row header-ஆ இல்லையா என்று தேர்வு செய்யுங்கள், மற்றும் ஒவ்வொரு cell-உம் string-ஆக இருக்க வேண்டிய cases-க்கு type coercion toggle செய்யுங்கள்.
CSV to JSON மாற்றத்தின் பொதுவான பயன்பாடுகள் என்ன?
CSV-ஐ JSON-க்கு parse செய்வது data வேலை மற்றும் tooling முழுவதும் காட்சியளிக்கிறது:
- API mocking: spreadsheet-லிருந்து export செய்யப்பட்ட CSV fixture ஒட்டி உங்கள் local server mocked endpoint ஆக return செய்யக்கூடிய JSON array-க்கு மாற்றுதல்.
- Data import: spreadsheet export (contacts, inventory, survey responses)-ஐ JSON array-ஆக மாற்றுதல் — இதனால் உங்கள் application அல்லது script CSV parser dependency இல்லாமல் iterate செய்யலாம்.
- Config editing: non-technical reviewers spreadsheet-ல் cell-by-cell settings அல்லது feature flags திருத்த அனுமதித்தல், பிறகு saved CSV-ஐ உங்கள் app உண்மையில் load செய்யும் JSON-க்கு மாற்றுதல்.
CSV to JSON example எப்படி இருக்கும்?
முதல் வரியில் name,age, இரண்டாவதில் Alice,30, மற்றும் மூன்றாவதில் "Bob, Jr.",25 ஒட்டி, comma delimiter, first row as keys, மற்றும் type coercion on-உடன் CONVERT அழுத்துவதால் [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] produce ஆகும் — "Bob, Jr."-ல் உள்ள quoted comma ஒரு field-க்குள் இருக்கிறது, மற்றும் ages உண்மையான JSON numbers ஆகின்றன.
இந்த CSV to JSON மாற்றி முழுவதுமாக என் உலாவியில் இயங்குகிறதா?
ஆம். ஒவ்வொரு parse மற்றும் transform pass-உம் உங்கள் browser tab-க்குள் JavaScript ஆக locally இயங்குகிறது. கருவி fetch, XMLHttpRequest அல்லது navigator.sendBeacon-ஐ அறவே அழைப்பதில்லை — உங்கள் CSV payloads எங்கள் servers, third-party converter அல்லது எந்த analytics pipeline-ஐயும் அடைவதில்லை. Page load ஆன பிறகு கருவி offline-லும் வேலை செய்கிறது, ஏனெனில் இது runtime API dependency இல்லாத static HTML/CSS/JS bundle.
இந்த மாற்றி கையாளக்கூடிய அதிகபட்ச உள்ளீடு அளவு என்ன?
மாற்றி முழு உள்ளீட்டை memory-ல் buffer செய்து main thread-ல் synchronously இயங்குகிறது, எனவே practical limits உங்கள் சாதனத்தை பொறுத்தது. சுமார் 10 MB CSV வரையிலான உள்ளீடுகள் (தோராயமாக 100,000 typical rows) modern laptop-ல் கவனிக்கக்கூடிய pause இல்லாமல் மாற்றப்படுகின்றன. அதற்கு மேல் parser இயங்கும்போது UI stall ஆகலாம். Web Worker plus chunked parser பயன்படுத்தி streamed conversion திட்டமிடப்பட்டுள்ளது — இப்போதைக்கு, மிகவும் பெரிய datasets-ஐ ஒட்டுவதற்கு முன்பு split செய்யுங்கள்.
CSV to JSON parser quoted commas மற்றும் embedded newlines-ஐ எவ்வாறு கையாளுகிறது?
Parser மூன்று states (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) உடன் ஒரு character-by-character state machine — naïve split(',') அல்ல. Double quotes-ல் wrapped field delimiter, CR, LF அல்லது "" ஆக escaped literal double quote கொண்டிருக்கலாம், field boundaries சிதைக்காமல். எனவே "Bob, Jr.",25 மூன்று அல்ல, இரண்டு fields ஆக parse ஆகிறது, மற்றும் rows முழுவதும் quoted multi-line description ஒரு single cell ஆக parse ஆகிறது.
JSON வெளியீட்டில் numbers, booleans மற்றும் காலி 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 காலி strings ஆக emit ஆகின்றன, இதனால் ஒவ்வொரு object-உம் முழு key set-ஐ கொண்டிருக்கும்.
CSV side எந்த delimiters ஆதரிக்கிறது?
நான்கு explicit delimiters ஆதரிக்கப்படுகின்றன: comma (,, RFC 4180 default), semicolon (;, European locales-ல் பொதுவானது), tab (\t, TSV dialect), மற்றும் pipe (|). Auto-detect-ஐயும் தேர்ந்தெடுக்கலாம், இது quoted regions வெளியே உள்ளீட்டின் முதல் 4 KB-ல் ஒவ்வொரு candidate-ன் occurrences count செய்கிறது மற்றும் முதல் ஐந்து rows முழுவதும் consistent column count yield செய்யும் most frequent ஒன்று தேர்கிறது.
இந்த CSV to JSON மாற்றி real state machine-உடன் parse செய்கிறது மற்றும் தூய்மையான, நுகர்வுக்கு தயாரான JSON emit செய்கிறது — ஒரு single byte-ஐயும் upload செய்யாமல் API call, script அல்லது code review-ல் நேரடியாக ஒட்டலாம்.