CSV को JSON में कैसे कनवर्ट करें

· 7 मिनट पढ़ने का समय

CSV (Comma-Separated Values) सारणीबद्ध डेटा के लिए सबसे सरल प्रारूप है, हर स्प्रेडशीट इसे निर्यात कर सकती है। JSON (JavaScript Object Notation) वेब API और आधुनिक अनुप्रयोगों के लिए मानक प्रारूप है। उनके बीच परिवर्तन विकास में सबसे सामान्य डेटा कार्यों में से एक है। ब्राउज़र-आधारित कन्वर्टर पूरा काम स्थानीय रूप से संभालता है, आपके डेटा को सर्वर पर अपलोड किए बिना।

जब आपको CSV से JSON की आवश्यकता हो

CSV कैसे JSON बनता है

एक CSV फ़ाइल:

name,age,city
Alice,30,New York
Bob,25,London

ऑब्जेक्ट्स की एक JSON सरणी बन जाती है:

[
  {"name": "Alice", "age": "30", "city": "New York"},
  {"name": "Bob", "age": "25", "city": "London"}
]

पहली पंक्ति (हेडर) कुंजी बन जाती है। प्रत्येक बाद की पंक्ति एक ऑब्जेक्ट बन जाती है।

कैसे परिवर्तित करें

  1. अपना CSV डेटा पेस्ट करें: हेडर पंक्ति के साथ अल्पविराम-पृथक डेटा दर्ज करें।
  2. अपना सीमांकक चुनें: अल्पविराम, अर्धविराम, टैब या पाइप चुनें। उपकरण अधिकांश मामलों में स्वचालित रूप से पता लगाता है।
  3. कॉपी या डाउनलोड करें: JSON आउटपुट की समीक्षा करें और इसे क्लिपबोर्ड पर कॉपी करें या .json फ़ाइल के रूप में डाउनलोड करें।

CSV और JSON का संक्षिप्त इतिहास

CSV दशकों से पुराना प्रारूप है। अल्पविराम-पृथक टेक्स्ट की अवधारणा 1960 और 1970 के दशक की है, जो मेनफ्रेम कार्यक्रमों के बीच डेटा का आदान-प्रदान करने का एक तरीका था। IBM Fortran (1972) ने सूची-निर्देशित I/O का समर्थन किया जो अल्पविराम-पृथक आउटपुट उत्पन्न करता था। CSV को 2005 में RFC 4180 तक औपचारिक रूप से मानकीकृत नहीं किया गया था, उस समय तक सूक्ष्म विविधताओं (उद्धरण नियम, लाइन एंडिंग, एन्कोडिंग) के साथ अरबों CSV फ़ाइलें पहले से ही मौजूद थीं।

JSON बहुत बाद में आया: Douglas Crockford ने इसे 2001 में निर्दिष्ट किया, औपचारिक RFC 4627 2006 में, ECMA-404 2013 में। JSON वेब के लिए डिज़ाइन किया गया था; CSV मेनफ्रेम पर बैच डेटा प्रसंस्करण के लिए डिज़ाइन किया गया था। दो प्रारूपों की अलग ताकत है:

पहलूCSVJSON
संरचनासपाट तालिका (पंक्तियाँ + स्तंभ)नेस्टेड, पदानुक्रमित
प्रकारबिना प्रकार (सब कुछ टेक्स्ट है)टाइप किया गया (स्ट्रिंग, संख्या, बूल, null, सरणी, ऑब्जेक्ट)
हेडरपहली पंक्ति सम्मेलनप्रति ऑब्जेक्ट फ़ील्ड नाम
आकारसारणीबद्ध डेटा के लिए कॉम्पैक्टअधिक वर्बोज़, संरचना शामिल
उपकरणExcel, सभी स्प्रेडशीटहर आधुनिक प्रोग्रामिंग भाषा
स्ट्रीमिंगलाइन-दर-लाइन आसानसंपूर्ण-फ़ाइल पार्सिंग डिफ़ॉल्ट (लेकिन JSON Lines मौजूद है)
कठोर स्पेकRFC 4180 (2005), अक्सर अनदेखाRFC 8259 (2017), कठोर

CSV से JSON रूपांतरण अनिवार्य रूप से पंक्ति-उन्मुख सपाट डेटा से कुंजी-मान ऑब्जेक्ट नोटेशन में अनुवाद है। अधिकांश कठिनाई किनारे के मामलों (उद्धरित मान, एम्बेडेड सीमांकक, गैर-UTF-8 एन्कोडिंग) को संभालने में है जिसे CSV स्पेक ने अनुमान नहीं किया था।

मुश्किल CSV डेटा को संभालना

उद्धरित मान: जब किसी मान में सीमांकक वर्ण होता है (जैसे अल्पविराम वाला पता), तो इसे दोहरे उद्धरणों में लपेटा जाना चाहिए: "New York, NY"। अच्छे कन्वर्टर इसे सही ढंग से संभालते हैं।

खाली मान: खाली कोशिकाएँ JSON में खाली स्ट्रिंग बन जाती हैं ("field": "")। यदि आपको उन्हें null की आवश्यकता है, तो आपको आउटपुट को पोस्ट-प्रोसेस करने की आवश्यकता हो सकती है।

संख्यात्मक मान: CSV में डेटा प्रकार नहीं हैं। सब कुछ टेक्स्ट है। JSON आउटपुट में स्ट्रिंग के रूप में संख्याएँ होंगी ("30" न कि 30)। यदि आपके एप्लिकेशन को वास्तविक संख्याओं की आवश्यकता है, तो रूपांतरण के बाद उन्हें पार्स करें।

मानों में लाइन ब्रेक: कुछ CSV फ़ाइलों में मल्टी-लाइन मान होते हैं (उद्धरणों में संलग्न)। सभी कन्वर्टर इसे संभालते नहीं हैं, अपने विशिष्ट डेटा के साथ परीक्षण करें।

एस्केप किए गए उद्धरण: एक उद्धरित मान के अंदर एक उद्धरण इसे दोगुना करके एस्केप किया जाता है: "उसने ""हैलो"" कहा"। अधिकांश पार्सर इसे सही ढंग से संभालते हैं।

अनुगामी रिक्ति: name ,age, city जैसे हेडर में अतिरिक्त रिक्तियाँ अव्यवस्थित कुंजी बनाती हैं। अच्छे कन्वर्टर डिफ़ॉल्ट रूप से ट्रिम करते हैं; कुछ रिक्तियों को शाब्दिक रूप से संरक्षित करते हैं।

बाइट ऑर्डर मार्क्स: फ़ाइल की शुरुआत में एक UTF-8 BOM पहले हेडर के पहले तीन वर्णों के रूप में दिखाई दे सकता है। कुछ कन्वर्टर BOM को हटा देते हैं; अन्य नहीं।

विभिन्न लाइन एंडिंग: Windows से CSV फ़ाइलों में CRLF है, Unix में LF है, पुराने Macs में CR था। मजबूत पार्सर सभी तीन को संभालते हैं।

आउटपुट प्रारूप विविधताएँ

CSV से JSON कन्वर्टर अक्सर कई आउटपुट विकल्प प्रदान करते हैं:

आउटपुटउदाहरणसर्वश्रेष्ठ उपयोग
ऑब्जेक्ट्स की सरणी[{"a":1},{"a":2}]API प्रतिक्रियाएँ, डिफ़ॉल्ट
ऑब्जेक्ट्स का ऑब्जेक्ट (पहले कॉलम द्वारा कीड){"id1":{"name":"x"},"id2":{...}}लुकअप तालिकाएँ, ID-कीड रिकॉर्ड्स
सरणियों की सरणी[["a","b"],[1,2],[3,4]]क्रम संरक्षित कच्चा पंक्ति डेटा
कॉलमर{"a":[1,3],"b":[2,4]}सांख्यिकीय विश्लेषण (pandas-अनुकूल)
JSON Lines (NDJSON){"a":1}\n{"a":2}स्ट्रीमिंग, लॉग प्रसंस्करण
हेडर द्वारा नेस्टेडaddress.city से [{"address":{"city":"NY"}}]सपाट CSV से नेस्टेड डेटा

डिफ़ॉल्ट ऑब्जेक्ट्स की सरणी है, जो लगभग सभी वेब API परिदृश्यों के लिए काम करती है। यदि आपके पास लाखों पंक्तियाँ हैं और स्ट्रीमिंग प्रसंस्करण की आवश्यकता है तो JSON Lines उपयोगी है।

प्रकार अनुमान

कुछ कन्वर्टर प्रकार अनुमान प्रदान करते हैं:

आंतरिक उपयोग के लिए जहाँ आप डेटा को नियंत्रित करते हैं, स्वचालित अनुमान समय बचाता है। अविश्वसनीय इनपुट के लिए, प्रकारों को स्ट्रिंग के रूप में छोड़ें और अपने कोड में स्पष्ट रूप से पार्स करें।

सामान्य चूक

सुझाव

गोपनीयता और गोपनीय डेटा

CSV से JSON कन्वर्टर पूरी तरह से आपके ब्राउज़र में चलता है। आप जो डेटा पेस्ट करते हैं, मध्यवर्ती प्रसंस्करण, और आउटपुट JSON सभी आपके डिवाइस पर रहते हैं। कुछ भी सर्वर पर अपलोड नहीं किया जाता, लॉग नहीं किया जाता, या किसी के साथ साझा नहीं किया जाता।

यह महत्वपूर्ण है क्योंकि आप जो CSV परिवर्तित करते हैं उनमें अक्सर संवेदनशील डेटा होता है: ईमेल पते और फ़ोन नंबर वाली ग्राहक सूचियाँ, वेतन वाले कर्मचारी रिकॉर्ड, वित्तीय लेनदेन, बिक्री पाइपलाइन डेटा, मार्केटिंग लीड, आंतरिक उत्पाद विश्लेषण, EHR सिस्टम से निर्यात किए गए मेडिकल रिकॉर्ड, छात्र ग्रेड, भुगतान इतिहास। क्लाउड CSV से JSON कन्वर्टर प्रत्येक पेस्ट को लॉग करते हैं, कभी-कभी «सेवा सुधार» के लिए उन्हें बनाए रखते हैं, और वास्तविक डेटा लीक में शामिल रहे हैं जहाँ चिपकाई गई ग्राहक सूचियाँ लॉग की निगरानी करने वाले हमलावरों को लीक हुईं। ब्राउज़र-आधारित कन्वर्टर में शून्य एक्सपोज़र है: डेटा कभी आपकी मशीन नहीं छोड़ता।

ब्राउज़र-आधारित रूपांतरण पृष्ठ लोड होने के बाद ऑफ़लाइन भी काम करता है, हवाई जहाज़ों पर, इंटरनेट एक्सेस के बिना सुरक्षित वातावरण में डेटा संसाधित करने के लिए, या कहीं भी जहाँ आप किसी तृतीय पक्ष सेवा में ग्राहक या वित्तीय डेटा नहीं चिपका सकते या नहीं चिपकाना चाहिए, उपयोगी।

अक्सर पूछे जाने वाले प्रश्न

हेडर पंक्ति के साथ क्या होता है?

पहली पंक्ति का उपयोग JSON ऑब्जेक्ट्स के लिए कुंजी के रूप में किया जाता है। प्रत्येक बाद की पंक्ति इन कुंजियों के साथ एक ऑब्जेक्ट बन जाती है। उदाहरण के लिए, «name,age» हेडर के साथ «Alice,30» पंक्ति {"name":"Alice","age":"30"} बन जाती है।

कौन से डिलीमीटर समर्थित हैं?

अल्पविराम, अर्धविराम, टैब और ऊर्ध्वाधर बार सभी समर्थित हैं। टूल डिलीमीटर का स्वचालित रूप से पता लगा सकता है या आप इसे मैन्युअल रूप से चुन सकते हैं।

क्या यह मानों के अंदर अल्पविराम संभालता है?

हाँ। दोहरे उद्धरणों से घिरे मानों (जैसे «New York, NY») को सही ढंग से संभाला जाता है, उद्धरणों के अंदर अल्पविराम को मान के हिस्से के रूप में माना जाता है, विभाजक के रूप में नहीं।

क्या मेरा डेटा किसी सर्वर पर भेजा जाता है?

नहीं। सारा कन्वर्ज़न आपके ब्राउज़र में होता है। आपका डेटा कभी आपके डिवाइस से बाहर नहीं जाता।