CSV से JSON कन्वर्टर
बाईं ओर CSV (या TSV) पेस्ट करें, दाईं ओर ऑब्जेक्ट्स की JSON ऐरे पाएं। हेडर अपने आप पहचाने जाते हैं। आपके ब्राउज़र में चलता है — कोई अपलोड नहीं।
- अपना CSV बाएँ टेक्स्ट एरिया में पेस्ट करें।
- "JSON में बदलें" पर क्लिक करें। पहली पंक्ति को हेडर माना जाता है।
- JSON ऐरे कॉपी करें या data.json के रूप में डाउनलोड करें।
- TSV (टैब-सेपरेटेड) और अन्य डेलिमिटर PapaParse स्वचालित रूप से पहचानता है।
यह क्या करता है?
CSV (RFC 4180-समान) को JSON ऐरे में पार्स करता है जहाँ हर ऑब्जेक्ट की कुंजी हेडर कॉलम से मेल खाती है। कोटेड फ़ील्ड, अंदरूनी कॉमा, डबल-कोट एस्केप, और CRLF / LF लाइन एंडिंग सब संभाले जाते हैं। संख्या, बूलियन और null-समान मान ("true", "false", खाली) स्वतः टाइप होते हैं। डेलिमिटर ऑटो-डिटेक्ट होता है — आप TSV, सेमीकोलन या पाइप से अलग किया डेटा भी पेस्ट कर सकते हैं।
उदाहरण
CSV इनपुट:
name,age,role
Ada,36,engineer
Grace,40,scientist JSON आउटपुट:
[
{"name": "Ada", "age": 36, "role": "engineer"},
{"name": "Grace", "age": 40, "role": "scientist"}
] सामान्य CSV समस्याएँ और उनका समाधान
CSV सरल लगता है पर इसमें उम्मीद से ज़्यादा एज केस हैं। ये पैटर्न अप्रत्याशित आउटपुट पैदा करते हैं।
- बिना कोटिंग के अंदरूनी कॉमा। `Smith, John` जैसी फ़ील्ड (बिना कोट के) दो कॉलम में बँट जाती है। ऐसी फ़ील्ड को डबल कोट में लपेटें: `"Smith, John"`।
- फ़ील्ड के अंदर डबल-कोट। कोटेड फ़ील्ड के अंदर लिटरल `"` को दोगुना करके एस्केप किया जाता है: `"He said ""hi"""` डिकोड होकर `He said "hi"` बनता है। बैकस्लैश एस्केपिंग (`\"`) मानक नहीं है और समर्थित नहीं।
- कॉलम संख्याओं में असमानता। हेडर से कम कॉलम वाली पंक्तियों में लापता कुंजियाँ null हो जाती हैं; अधिक कॉलम वाली पार्स वार्निंग के रूप में रिपोर्ट होती हैं। रूपांतरण पूरा हो जाता है पर आउटपुट जाँच लें।
- अग्रणी शून्य खोते संख्यात्मक IDs। `007` संख्या 7 के रूप में पार्स होता है, स्ट्रिंग "007" नहीं। अग्रणी शून्य ज़रूरी हों (पिन कोड, फ़ोन नंबर) तो फ़ील्ड को कोट में लपेट कर प्रीप्रोसेस करें — डाउनस्ट्रीम कोड में डायनामिक टाइपिंग बंद कर के स्ट्रिंग के रूप में रखा जा सकता है।
- फ़ाइल की शुरुआत में BOM। Excel-सेव्ड CSV में अक्सर UTF-8 BOM (`\uFEFF`) रहता है। पार्सर इसे हटा देता है, पर हेक्स एडिटर से कच्चा बाइट पेस्ट करने पर पहले हेडर में अजीब चरित्र दिख सकता है।
- मिश्रित लाइन एंडिंग। CRLF (Windows), LF (Unix), CR (पुराना Mac) सब पहचाने जाते हैं। आउटपुट यदि एक विशाल पंक्ति जैसा दिखे, तो फ़ाइल में लाइन ब्रेक ही नहीं होंगे — यह `\n` के बिना जोड़ कर बनाए CSV में सामान्य है।
अक्सर पूछे जाने वाले प्रश्न
क्या यह TSV (टैब-सेपरेटेड) समर्थित करता है?
हाँ। PapaParse इनपुट के पहले 1 KB से डेलिमिटर ऑटो-डिटेक्ट करता है। टैब, सेमीकोलन, पाइप और कॉमा बिना कॉन्फ़िगरेशन काम करते हैं। अगर डिटेक्शन गलत हो (असली डेटा पर दुर्लभ), फ़ील्ड्स को स्पष्ट करें या प्रीप्रोसेस करें।
मेरे CSV में हेडर पंक्ति न हो तो?
वर्तमान कॉन्फ़िगरेशन पहली पंक्ति को हेडर मानती है। हेडरलेस CSV के लिए `a,b,c` जैसी सिंथेटिक हेडर पंक्ति प्रीपेंड करें — या ऐरे-ऑफ-ऐरे आउटपुट चाहिए तो कमांड लाइन पर PapaParse को `header: false` से चलाएँ।
तारीखें कैसे संभाली जाती हैं?
स्ट्रिंग के रूप में रहती हैं। पार्सर सिर्फ़ संख्या और बूलियन ऑटो-टाइप करता है — तारीख फ़ॉर्मैट अस्पष्टता (`01/02/03` US में 2 जनवरी, UK में 1 फ़रवरी) के कारण ऑटो-पार्सिंग जान-बूझकर नहीं होती। डाउनस्ट्रीम जहाँ स्रोत कन्वेंशन पता हो, वहाँ पार्स करें।
क्या मैं बहुत बड़ी CSV फ़ाइलें बदल सकता हूँ?
लगभग 50 MB तक ब्राउज़र सहज रहता है। बॉटलनेक टेक्स्ट एरिया है, पार्सर नहीं — बड़ी फ़ाइलों के लिए PapaParse को कमांड लाइन पर चलाएँ। लाइब्रेरी वही है।
क्या मेरा CSV कहीं अपलोड होता है?
नहीं। सब आपके ब्राउज़र में चलता है — डेटा इस पेज के JavaScript से पार्स होता है और किसी सर्वर पर नहीं जाता। ब्राउज़र डेवटूल्स में सत्यापित करें: कन्वर्ट क्लिक करने पर शून्य नेटवर्क रिक्वेस्ट।
अलग आकार का JSON (नेस्टेड, ग्रुप्ड) कैसे पाऊँ?
यह टूल फ्लैट ऑब्जेक्ट्स की फ्लैट ऐरे बनाता है — CSV यही दर्शाता है। नेस्टेड संरचना के लिए आउटपुट को स्क्रिप्ट से पोस्ट-प्रोसेस करें (कॉलम पर ग्रुप, प्रीफ़िक्स से फ़ील्ड नाम बदलें, इत्यादि)। CSV में पदानुक्रम एनकोड करना उल्टा अधिक समस्या लाता है।