Ano ang CSV to JSON conversion?
Ang CSV (Comma-Separated Values, RFC 4180) ay isang flat, tabular na text format; Ang JSON (JavaScript Object Notation, RFC 8259) ay isang tree-shaped na text format para sa structured na data. Ang pag-convert ng CSV sa JSON ay nagbabago ng spreadsheet-friendly na talahanayan sa isang API-friendly na array ng mga object — isang object sa bawat row, na may header row na nagbibigay ng mga key — nang hindi muling nagta-type ng isang cell.
Paano gumagana ang CSV to JSON conversion?
Ang bawat conversion ay tumatakbo nang lokal sa iyong browser. Ang mga mataas na antas na hakbang ay:
- Nagpe-paste ka ng CSV sa input pane at pinipindot ang I-CONVERT; ang tool ay nagpa-parse ng teksto at naglalabas ng JSON array ng mga object sa output pane.
- Ang isang character-by-character na state machine (FIELD_START → IN_UNQUOTED_FIELD o IN_QUOTED_FIELD) ay naglalakad sa input, gumagalang sa
""quoted-quote escape, nakikilala ang parehong\r\nat\nna row terminator, at gumagawa ng 2-D array ng mga string bilang intermediate na representasyon. - Kung ang unang row ay minarkahan bilang header, ang mga cell nito ay nagiging mga object key; kung hindi, ang tool ay bumubuo ng mga synthetic na key na
field0,field1, … para ang bawat row ay may katumbas pang kumpletong object. - Ang delimiter (comma, semicolon, tab, pipe, o auto-detect) at type coercion (numero / boolean /
null) ay lahat na nako-configure. Sa coercion na naka-on, ang30ay nagiging numero 30 at angtrueay nagiging boolean; naka-off, ang bawat cell ay nananatiling string. - Ang output ay isinusulat sa read-only na textarea bilang
JSON.stringify-formatted na teksto, at isang download na link ay nagtatayo ngBlobna may MIME type naapplication/json;charset=utf-8para maisave mo ang resulta sa isang click.
Bakit mag-convert ng CSV sa JSON gamit ang tool na ito?
- Privacy: ang bawat parse at transform pass ay nangyayari sa iyong browser. Hindi kailanman nakakarating ang datos sa aming mga server.
- Katumpakan: ang CSV parser ay isang tunay na state machine. Ang mga field na naglalaman ng quoted na comma (
"Bob, Jr."), embedded na newline, at escaped na quote ay nag-pa-parse sa isang cell, hindi tatlo — ang mga naive nasplit(',')na implementasyon ay maling ginagawa ito. - Katapatan ng uri: ang opsyonal na coercion ay nagpapalit ng numeric at boolean na mga cell sa tunay na JSON na mga numero at boolean, kaya ang array na makukuha mo ay handa nang gamitin nang direkta nang walang pangalawang paglilinis.
- Kakayahang umangkop: pumili ng anumang delimiter para sa mga non-comma CSV dialect, i-configure kung ang unang row ay header, at i-toggle ang type coercion para sa mga kaso kung saan ang bawat cell ay dapat manatiling isang string.
Ano ang mga karaniwang paggamit ng CSV to JSON conversion?
Ang pag-parse ng CSV sa JSON ay lumalabas sa buong data work at tooling:
- API mocking: pag-paste ng isang CSV fixture na na-export mula sa isang spreadsheet at pag-convert nito sa isang JSON array na maaaring ibalik ng iyong lokal na server bilang isang mocked na endpoint.
- Pag-import ng data: pag-convert ng isang spreadsheet export (mga contact, imbentaryo, mga sagot sa survey) sa isang JSON array na maaaring i-iterate ng iyong application o script nang walang CSV parser dependency.
- Pag-edit ng config: pagpapahintulot sa mga non-technical na reviewer na mag-edit ng mga setting o feature flag nang cell by cell sa isang spreadsheet, pagkatapos ay pag-convert ng naka-save na CSV sa JSON na talagang ino-load ng iyong app.
Ano ang hitsura ng isang halimbawa ng CSV to JSON conversion?
Ang pag-paste ng name,age sa unang linya, Alice,30 sa pangalawa, at "Bob, Jr.",25 sa pangatlo, pagkatapos ay pagpindot ng I-CONVERT na may comma delimiter, unang row bilang mga key, at type coercion na naka-on, ay gumagawa ng [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — ang quoted na comma sa "Bob, Jr." ay nananatili sa loob ng isang field, at ang mga edad ay nagiging tunay na JSON na mga numero.
Tumatakbo ba ang CSV to JSON converter na ito nang buo sa aking browser?
Oo. Ang bawat parse at transform pass ay tumatakbo nang lokal bilang JavaScript sa loob ng iyong browser tab. Hindi tinatawag ng tool ang fetch, XMLHttpRequest, o navigator.sendBeacon — ang iyong CSV payload ay hindi kailanman umabot sa aming mga server, isang third-party na converter, o anumang analytics pipeline. Gumagana rin ang tool nang offline kapag na-load na ang page, dahil ito ay isang static na HTML/CSS/JS bundle na walang runtime na API dependency.
Ano ang maximum na laki ng input na kaya ng converter na ito?
Ini-buffer ng converter ang buong input sa memorya at tumatakbo nang synchronously sa pangunahing thread, kaya ang praktikal na mga limitasyon ay depende sa iyong device. Ang mga input na hanggang humigit-kumulang 10 MB ng CSV (humigit-kumulang 100,000 na karaniwang row) ay nagko-convert nang walang kapansin-pansing pagkaantala sa isang modernong laptop. Higit pa rito ang UI ay maaaring mahinto habang tumatakbo ang parser. Ang streamed na conversion gamit ang isang Web Worker kasama ang isang chunked na parser ay planado bilang isang follow-up — sa ngayon, hatiin ang napakalaking dataset bago ito i-paste.
Paano humahawak ang CSV to JSON parser ng mga quoted na comma at embedded na newline?
Ang parser ay isang character-by-character na state machine na may tatlong estado (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — hindi isang naive na split(','). Ang isang field na nakabalot sa double quote ay maaaring maglaman ng delimiter, isang CR, isang LF, o isang literal na double quote na naka-escape bilang "", lahat nang walang pagsira ng mga hangganan ng field. Kaya ang "Bob, Jr.",25 ay nag-pa-parse sa dalawang field, hindi tatlo, at isang multi-line na paglalarawan na naka-quote sa mga row ay nag-pa-parse sa isang cell.
Paano tinitipa ang mga numero, boolean, at walang laman na cell sa JSON output?
Ang pag-type ay kinokontrol ng Type coercion toggle. Sa coercion na naka-on (ang default), ang isang cell na mukhang numero ay nagiging JSON numero, ang true/false ay nagiging mga boolean, at ang literal na null ay nagiging JSON null; ang lahat ng iba ay nananatiling string. Sa coercion na naka-off, ang bawat value ay pinapanatiling string anuman ang nilalaman nito — kapaki-pakinabang kapag ang mga nangunguna sa zero, numero ng telepono, o mga code ng ID ay dapat manatiling buo. Ang mga nawawalang trailing cell sa isang maikling row ay inilalabas bilang mga walang laman na string para ang bawat object ay may buong set ng mga key.
Aling mga delimiter ang sinusuportahan ng CSV side?
Apat na tahasang delimiter ang sinusuportahan: comma (,, ang RFC 4180 default), semicolon (;, karaniwan sa mga European locale), tab (\t, ang TSV dialect), at pipe (|). Maaari ka ring pumili ng Auto-detect, na nagbibilang ng mga paglitaw ng bawat kandidato sa unang 4 KB ng input sa labas ng mga quoted na rehiyon at pinipili ang pinaka-madalas na isa na nagbibigay ng konsistenteng bilang ng column sa unang limang row.
Ang CSV to JSON converter na ito ay nagpa-parse gamit ang isang tunay na state machine at naglalabas ng malinis, handang gamitin na JSON na maaari mong direktang i-paste sa isang API call, isang script, o isang code review — nang hindi nagsu-submit ng kahit isang byte.