CSV से JSON

अल्पविराम से अलग किए गए मानों को JSON सरणियों या ऑब्जेक्ट्स में कनवर्ट करें।

CSV → JSON के बारे में

CSV (Comma-Separated Values) एक सरल सारणीबद्ध डेटा प्रारूप है, जबकि JSON (JavaScript Object Notation) APIs और web applications के लिए मानक प्रारूप है. यह tool इनके बीच रूपांतरण करता है, quoted fields, escaped characters और विभिन्न delimiters को संभालता है. जब "First row is header" tick की जाती है, column names JSON output में object keys बन जाते हैं.

यह कैसे काम करता है

  1. अपना CSV पेस्ट करें: इनपुट फ़ील्ड में अपना CSV टेक्स्ट डालें। अपने डेटा से मेल खाने वाला डिलिमिटर चुनें।
  2. विकल्प कॉन्फ़िगर करें: अगर पहली पंक्ति में कॉलम नाम हैं तो "पहली पंक्ति = हेडर" चेक करें (वे JSON कुंजियाँ बनेंगी)।
  3. रूपांतरित करें: प्रत्येक CSV पंक्ति हेडर से कुंजियों के साथ एक JSON ऑब्जेक्ट बन जाती है, या यदि हेडर नहीं है तो एक साधारण ऐरे।
  4. कॉपी या डाउनलोड करें: JSON ऐरे कॉपी करें या कोड या API में उपयोग के लिए .json फ़ाइल डाउनलोड करें।

CSV को JSON में क्यों रूपांतरित करें?

CSV स्प्रेडशीट, डेटाबेस और विश्लेषण टूल का सार्वभौमिक निर्यात प्रारूप है, परंतु अधिकांश आधुनिक API JSON पसंद करते हैं।

विशेषताएँ

CSV से JSON conversion क्या है?

CSV से JSON conversion एक सपाट सारणीबद्ध text file (comma-separated values की rows) लेता है और एक JSON array निकालता है जहाँ हर row column headers द्वारा keyed एक object बन जाती है. वही data ("name,age" newline "Alice,30" newline "Bob,25") दो-row CSV से दो objects वाले JSON array में जाता है, हर एक में name और age fields के साथ. Conversion प्रतिवर्ती है (json-to-csv विपरीत दिशा को कवर करता है).

CSV spreadsheets (Excel, Google Sheets, Numbers, LibreOffice Calc) और SQL databases (mysqldump, pg_dump) के लिए सार्वभौमिक export प्रारूप बना हुआ है. JSON web APIs, NoSQL databases, और JavaScript applications के लिए प्रमुख प्रारूप है. इनके बीच रूपांतरण data engineering, ETL pipelines, और front-end काम में सबसे आम interoperability कार्य है.

यह converter चार delimiters (comma, semicolon, tab, pipe), वैकल्पिक header rows, और numeric तथा boolean types की auto-detection को संभालता है. यह RFC 4180 quoting नियमों को लागू करता है ताकि embedded commas, newlines, या doubled quotes वाले quoted fields सही ढंग से parse हों. Output दो-space indent के साथ pretty-printed JSON है, copy या download के लिए तैयार.

Converter ke andar kya hai

ऊपरी control bar तीन knobs उजागर करती है जो parsing व्यवहार को बदलते हैं: एक delimiter dropdown (comma, semicolon, tab, या pipe), एक First row is header checkbox, और एक Auto-detect types checkbox. पहले अपने source data से मेल खाने वाला delimiter चुनें, फिर तय करें कि header row को object keys के रूप में प्रोन्नत किया जाना चाहिए या data row के रूप में रखा जाना चाहिए.

दो textareas बाईं ओर CSV input और दाईं ओर JSON output दिखाते हैं. Output read-only है और Convert to JSON click करने के बाद update होता है. Buttons के नीचे row counter दिखाता है कि parser ने कितनी rows पहचानीं; यदि यह आपकी अपेक्षा से अलग है, delimiter दोबारा जाँचें या अपने input में असंतुलित quotes ढूँढें.

Panes के नीचे पाँच action buttons बैठते हैं: Convert to JSON रूपांतरण चलाता है, Copy output को आपके clipboard में लिखता है, Sample एक sample CSV load करता है ताकि आप अपेक्षित प्रारूप देख सकें, Clear दोनों textareas को खाली करता है, और Download JSON को एक .json file के रूप में save करता है. एक छिपी हुई preview table भी है जो Sample click करने पर बाहर निकलती है, parsed rows को सारणीबद्ध layout में दिखाती है.

Itihaas aur prishthbhumi

Hollerith punch cards सारणीबद्ध data का उद्घाटन करते हैं (1890)

1890 US Census Herman Hollerith के punched cards पर चला, हर card निश्चित-स्थिति वाले data के columns रखता था. एक data प्रारूप के रूप में rows-and-columns का विचार digital computers से 50 वर्ष पुराना है. हर आधुनिक सारणीबद्ध प्रारूप (CSV, TSV, Excel, Parquet) अपने आयताकार आकार को punch cards तक खोजता है. Hollerith के patents से निकली Computing-Tabulating-Recording Company 1924 में IBM बन गई.

CSV FORTRAN list-directed I/O से उभरता है (1972)

IBM के 1972 के FORTRAN compiler ने list-directed I/O पेश किया जहाँ commas से अलग किए गए values एक call में कई variables में पढ़े जा सकते थे. यह परंपरा BASIC, mainframe report प्रारूपों, और शुरुआती personal computing तक फैली. 1980 के दशक तक अधिकांश spreadsheet programs (VisiCalc, Lotus 1-2-3, Excel) comma-separated text export कर सकते थे. कोई एकल spec नहीं था, इसलिए dialects बढ़ते गए.

RFC 4180 CSV को standardize करता है (2005)

Yakov Shafranovich का RFC 4180, अक्टूबर 2005 में प्रकाशित, ने CSV को इसका पहला व्यापक रूप से उद्धृत specification दिया. इसने CRLF line endings के उपयोग, double-quote escaping (एक quoted field के अंदर एक quote को दो quotes के रूप में लिखा जाता है), और एक एकल delimiter character को परिभाषित किया. RFC Informational था, Proposed Standard नहीं, इसलिए कई tools अभी भी इससे विचलित होते हैं, लेकिन RFC 4180 अच्छी तरह से गठित CSV कैसा दिखता है इसका कैनोनिकल संदर्भ बना हुआ है.

JSON specified (2001) और standardized (2013)

Douglas Crockford ने अप्रैल 2001 में JSON का दस्तावेज़ीकरण किया. यह JavaScript objects को serialize करने के लिए एक स्पष्ट प्रारूप था लेकिन जल्दी हर भाषा तक फैल गया. ECMA-404 ने इसे 2013 में standardize किया, RFC 8259 ने 2017 में RFC 4627 को बदल दिया. प्रारूप जानबूझकर न्यूनतम है (कोई comments नहीं, कोई schema नहीं), जो ठीक यही कारण है कि यह API lingua franca बन गया.

Locale-विशिष्ट CSV variants उभरते हैं (1990 के दशक से आगे)

उन देशों में जहाँ comma को decimal separator के रूप में उपयोग किया जाता है (France, Germany, महाद्वीपीय Europe का अधिकांश हिस्सा, Brazil), Excel decimal commas से टकराव से बचने के लिए semicolon delimiter के साथ CSV export करता है. अंग्रेज़ी-भाषी देशों में comma बना रहता है. वही Excel installation operating system locale के आधार पर अलग CSV उत्पन्न करती है, यही कारण है कि यह converter अनुमान लगाने के बजाय एक delimiter dropdown उजागर करता है.

PapaParse और in-browser CSV का उदय (2014)

Matt Holt का PapaParse (2014) वास्तविक JavaScript CSV parser बन गया. इसका design (auto-detect delimiter, web workers के साथ बड़ी files को संभालना, कड़ी RFC 4180 अनुपालन) हर बाद के in-browser converter के लिए template बन गया. यह tool चार आम delimiters और सबसे अधिक उद्धृत RFC 4180 मामलों के लिए ट्यून किए गए एक हल्के-वज़न parser को लागू करता है, workers के बिना (जो इस UI के विशिष्ट kilobyte-to-megabyte inputs के लिए अनावश्यक हैं).

Praayogik workflows

Spreadsheet export से API request body

आपने Google Sheets से एक 200-row contact list CSV के रूप में export की. यहाँ paste करें, First row is header tick रहने दें, Convert click करें. Output JSON array एक CRM API endpoint पर POST करने के लिए तैयार है जो bulk-create की अपेक्षा करता है.

CSV se database seed file

आपके पास एक legacy system से products की एक CSV है. JSON में convert करें, seed.json के रूप में save करें, और इसे mongoimport या AWS CLI के साथ MongoDB या DynamoDB में load करें. JSON array बिना स्पष्ट schema के सीधे एक collection में map होता है.

Charting libraries के लिए data (D3, Chart.js, Recharts)

D3.js सीधे d3.csv के माध्यम से CSV स्वीकार करता है, लेकिन Chart.js और Recharts JSON चाहते हैं. अपनी monthly sales CSV यहाँ convert करें, परिणामी array को अपने React component में drop करें, और इसे एक chart prop पर pass करें. Auto-detect types option यह सुनिश्चित करता है कि numeric columns वास्तविक numbers बनें, strings नहीं.

Frontend ke liye mock data

Backend मौजूद होने से पहले UI बनाते समय, mock data एक JSON file में अच्छी तरह से रहता है जो require या fetch के साथ import की जाती है. अपने records एक spreadsheet में स्केच करें, CSV export करें, यहाँ convert करें, और mockData.json में paste करें. Spreadsheet edit करके (जो JSON को हाथ से edit करने से आसान है) और फिर से convert करके iterate करें.

jq ke saath log file analysis

कुछ server logs CSV-स्वाद वाले होते हैं. JSON में convert करें, फिर filter, sort, और aggregate करने के लिए jq के माध्यम से pipe करें. रूपांतरण flat-file logs और structured records की अपेक्षा करने वाले stream-processing tools के बीच की खाई को पाटता है.

CMS में bulk import

Headless CMS platforms (Contentful, Sanity, Strapi, Directus) आमतौर पर JSON imports स्वीकार करते हैं. Editors एक परिचित spreadsheet में content लिखते हैं, आप यहाँ convert करते हैं और एक एक-बार वाली import script चलाते हैं. Header row आपके CMS schema में map होने वाले field names बन जाती है.

Aam khataarey

आंतरिक commas वाले quoted fields

1,"Smith, John",30 जैसी एक row के तीन तार्किक fields हैं, चार नहीं, क्योंकि quoted field के अंदर comma data है, delimiter नहीं. यह parser RFC 4180 double-quote escaping का सम्मान करता है, लेकिन विकृत CSV (बंद होने वाला quote लापता, बेमेल quotes) निरर्थक JSON उत्पन्न करेगा. पहले एक CSV linter का उपयोग करें या structural त्रुटियों को सतह पर लाने के लिए file को एक spreadsheet में import करें.

Quoted fields के अंदर embedded newlines

RFC 4180 double-quoted fields के अंदर literal newlines की अनुमति देता है, लेकिन कई सरल line-based parsers हर newline को एक record separator की तरह मानते हैं. यदि आपके CSV में quotes के अंदर बहु-line टिप्पणियाँ या addresses हैं, row count दृश्य line count से मेल नहीं खा सकता. यह converter उन्हें सही ढंग से संभालता है, लेकिन downstream tools नहीं संभाल सकते.

File के प्रारंभ में Byte Order Mark (BOM)

Windows tools (विशेष रूप से Excel) कभी-कभी UTF-8 CSV files को एक तीन-byte BOM (EF BB BF) के साथ prefix करते हैं. जब आप एक BOM-prefixed file से copy करते हैं, पहले header को एक अदृश्य prefix मिलता है जो आपके code में "name" को "name" से बेमेल कर देता है. यहाँ paste करने से पहले file को एक hex editor में खोलें या एक one-liner (Unix में sed, PowerShell में Get-Content) के साथ BOMs को हटा दें.

Locale के अनुसार comma बनाम semicolon

एक French-locale Excel export semicolons का उपयोग करता है क्योंकि commas decimal separators हैं. इसे डिफ़ॉल्ट comma delimiter के साथ import करने पर 1,234 दो fields में बँट जाता है. हमेशा वह delimiter चुनें जो source से मेल खाता है. यदि आप अनिश्चित हैं, plain text editor में पहली line देखें; स्पष्ट separator वही है जो आप चाहते हैं.

Type coercion पर leading zeros खो जाते हैं

Postal codes, phone numbers, और product SKUs अक्सर एक शून्य से शुरू होते हैं (जैसे "01234"). Auto-detect types इन्हें integers में coerce करता है, leading zero (1234) को खो देता है. उन columns के लिए जहाँ leading zeros महत्वपूर्ण हैं, Auto-detect types को uncheck करें ताकि values strings बनी रहें. या convert करें और फिर प्रभावित fields को मैन्युअल रूप से quote-wrap करें.

Excel formula injection (CSV bomb)

यदि एक CSV cell =, +, -, या @ से शुरू होती है, Excel file खोले जाने पर इसे एक formula के रूप में मूल्यांकन कर सकता है. =cmd|'/c calc'!A1 Windows मशीनों पर calculator launch करता है. यह एक ज्ञात attack vector है जब web apps user-नियंत्रित data को CSV में export करते हैं. JSON में रूपांतरण खतरे को निष्क्रिय करता है (JSON में कोई formula मूल्यांकन नहीं है), लेकिन मूल CSV खतरनाक बनी रहती है.

Gopniyata aur data handling

सारी parsing आपके browser में एक छोटे JavaScript function का उपयोग करके होती है. हम आपका CSV या JSON किसी server पर नहीं भेजते, inputs log नहीं करते, और outputs store नहीं करते. Copy और Download buttons standard user-gesture APIs के माध्यम से आपके operating system के साथ संवाद करते हैं और तीसरे पक्षों के लिए अदृश्य हैं.

Page load होने के बाद, tool offline चलता है. आप network से disconnect कर सकते हैं और customer lists, internal SKUs, या किसी भी data को convert कर सकते हैं जिसे आपके device से नहीं जाना चाहिए. Tool HIPAA-संबंधित workflows के लिए सुरक्षित है क्योंकि data path कभी किसी बाहरी सीमा को पार नहीं करता.

यह converter कब उपयोग नहीं करना चाहिए

बहुत बड़ी files (10 MB से ऊपर)

Converter पूरी input को memory में रखता है और इसे synchronously process करता है, जो multi-million-row CSVs पर browser tab को freeze कर देता है. 10 megabytes से ऊपर की files के लिए, एक streaming parser (Python csv module, Node का csv-parse, Rust का csv crate) का उपयोग करें जो एक बार में एक row पढ़ता है.

Cells में nested object आकार

CSV डिज़ाइन से सपाट है. यदि आपके data में cells के अंदर nested objects या arrays हैं (जैसे comma-separated values वाला tags column), रूपांतरण उन्हें strings की तरह मानता है, arrays नहीं. आपको string को बाँटने और nested आकार को फिर से बनाने के लिए JavaScript या Python में एक post-processing चरण की आवश्यकता होगी.

Binary ya non-UTF-8 data

पुराने Windows systems से CSV files UTF-8 के बजाय Windows-1252 (CP-1252) में encoded हो सकती हैं. UTF-8 textarea में paste करने पर विशेष characters (é, ñ, ü) मोजिबेक की तरह दिखते हैं. Paste करने से पहले अपने text editor में file को UTF-8 के रूप में फिर से save करें (या command line से iconv चलाएँ).

Real-time streaming data

यदि आपके CSV को निरंतर append किया जा रहा है (एक tail-style log feed), यह batch tool पकड़ नहीं सकता. एक websocket से piped streaming parser या एक CSV ingest mode वाले database (Postgres COPY FROM, MySQL LOAD DATA INFILE) का उपयोग करें.

Aur sawaal

क्या parser कड़ाई से RFC 4180 अनुपालक है?

अधिकांशतः. Parser double-quote escaping (quoted field के अंदर दो quotes का मतलब एक literal quote), embedded commas और newlines वाले quoted fields, और CRLF या LF line endings संभालता है. यह leading या trailing whitespace वाले unquoted fields को स्वीकार करके कड़े RFC 4180 से विचलित होता है (जिसे spec अस्वीकार करता है). यह व्यावहारिक सहनशीलता उससे मेल खाती है जो अधिकांश वास्तविक-दुनिया CSV exporters निकालते हैं.

Excel की विचित्र CSV output को कैसे प्रभावित करती है?

Excel UTF-8 files में BOMs जोड़ता है, कभी-कभी Windows-1252 encoding का उपयोग करता है, और गैर-अंग्रेज़ी locales में semicolons को प्राथमिकता देता है. Paste करने से पहले BOM हटाएँ और UTF-8 के रूप में फिर से save करें. Dropdown से सही delimiter चुनें. Number-जैसी columns पर leading zeros का ध्यान रखें; Excel अक्सर CSV खोलने पर उन्हें खुद ही गिरा देता है.

BOM वाले UTF-8 बनाम शुद्ध UTF-8 के बारे में क्या?

BOM वाले UTF-8 में एक तीन-byte prefix (EF BB BF) होता है जो encoding को संकेत देता है. अधिकांश web tools (browsers, JSON parsers) BOM के बिना सादे UTF-8 को प्राथमिकता देते हैं. यदि आपका CSV Excel के UTF-8 export से आया है, BOM मौजूद हो सकता है, और पहला header field उसे चुपचाप शामिल करेगा. Paste करने से पहले BOM हटाएँ (sed -i '1s/^\xEF\xBB\xBF//' file.csv).

क्या मैं एक CSV cell के अंदर JSON embed कर सकता हूँ?

आप कर सकते हैं, JSON को double quotes में संलग्न करके और आंतरिक quotes को escape करके. Converter cell को एक string की तरह मानता है, इसलिए अंदर का JSON output में एक string के रूप में रहता है. एक post-processing चरण (आपके code में उस field पर JSON.parse) embedded object को फिर से बनाता है. यह spreadsheet exports के अंदर JSON shipping करते समय एक आम pattern है.

मेरे output JSON में कुछ columns क्यों लापता हैं?

सबसे संभावित यह है कि एक row में header से कम columns हैं (export पर एक trailing खाली cell गिरा दिया गया). Parser लापता values के लिए undefined निकालता है, जिसे JSON.stringify गिरा देता है, इसलिए परिणामी object में अपेक्षित से कम keys हैं. यह देखने के लिए source file को एक spreadsheet में खोलें कि कौन सी rows छोटी हैं, और या तो data ठीक करें या defaults भरने के लिए post-process करें.

क्या यह TSV (tab-separated values) का समर्थन करता है?

हाँ, delimiter dropdown से Tab चुनें. TSV files तब आम हैं जब CSV files में बहुत अधिक quoted cells होंगी (क्योंकि tabs spreadsheet cells में शायद ही कभी valid data होते हैं). Parser TSV को delimiter के अलावा समान रूप से संभालता है; quoting और escaping नियम समान हैं.

संबंधित टूल