सामग्री पर जाएं

सीएसवी से जेसन कन्वर्टर - मुफ्त ऑनलाइन फ़ाइल रूपांतरण टूल

अपने ब्राउज़र में तुरंत सीएसवी को जेसन और जेसन को सीएसवी में बदलें। सुरक्षित, तेज़ डेटा रूपांतरण पूर्वावलोकन और डाउनलोड के साथ। कोई अपलोड आवश्यक नहीं।

CSV/JSON फ़ाइल कनवर्टर

सरलता से CSV और JSON प्रारूपों के बीच परिवर्तित करें। अपनी फ़ाइल अपलोड करें, डेटा पूर्वावलोकन करें और परिवर्तित परिणाम डाउनलोड करें।

CSV से JSON कनवर्टर

JSON से CSV कनवर्टर

लोडिंग कैलकुलेटर...
📚

दस्तावेज़ीकरण

CSV से JSON में बदलने वाला कनवर्टर क्या है?

CSV से JSON कनवर्टर एक ऐसा उपकरण है जो डेटा को CSV (कॉमा-विभाजित मान) प्रारूप से JSON (JavaScript ऑब्जेक्ट नोटेशन) प्रारूप में, या इसके विपरीत, बदलता है। यह कनवर्टर पूरी तरह वेब ब्राउज़र के भीतर चलता है। यह अपलोड की गई फ़ाइल को कभी सर्वर पर नहीं भेजता, इसलिए डेटा उपयोगकर्ता के डिवाइस पर ही रहता है।

CSV एक सादा-पाठ प्रारूप है जिसका उपयोग तालिकाएँ संग्रहीत करने के लिए किया जाता है, जैसे Excel या Google Sheets से निर्यात की गई स्प्रेडशीट। JSON कुंजी-मान युग्मों से बना एक पाठ प्रारूप है, जिसका उपयोग वेब अनुप्रयोगों और API के बीच डेटा भेजने के लिए व्यापक रूप से किया जाता है। दोनों प्रारूप डेटा को अलग-अलग ढंग से व्यवस्थित करते हैं, इसलिए इनके बीच रूपांतरण के लिए नीचे बताए गए निश्चित नियमों की आवश्यकता होती है।

CSV को JSON में कैसे बदलें

  1. "Upload CSV File" पर क्लिक करें और डिवाइस से .csv फ़ाइल चुनें।
  2. उपकरण कच्ची फ़ाइल की सामग्री का पूर्वावलोकन दिखाता है।
  3. "Convert to JSON" पर क्लिक करें। उपकरण पहली पंक्ति को कॉलम शीर्षकों के रूप में पढ़ता है और हर दूसरी पंक्ति को एक JSON ऑब्जेक्ट में बदल देता है।
  4. परिणाम आउटपुट पूर्वावलोकन में इंडेंटेशन के साथ दिखाई देता है।
  5. इसे .json फ़ाइल के रूप में सहेजने के लिए "Download JSON" पर क्लिक करें, या पाठ की प्रतिलिपि बनाने के लिए "Copy JSON" पर क्लिक करें।

JSON को CSV में कैसे बदलें

  1. "Upload JSON File" पर क्लिक करें और .json फ़ाइल चुनें। फ़ाइल में ऑब्जेक्ट की JSON सारणी होनी चाहिए, उदाहरण के लिए [{"Name":"Ann"},{"Name":"Bo"}]।
  2. उपकरण कच्चे JSON पाठ का पूर्वावलोकन दिखाता है।
  3. "Convert to CSV" पर क्लिक करें। उपकरण सभी ऑब्जेक्ट में उपयोग की गई हर कुंजी को एकत्र करता है और प्रत्येक को एक कॉलम में बदल देता है।
  4. परिणाम आउटपुट पूर्वावलोकन में CSV पाठ के रूप में दिखाई देता है।
  5. इसे .csv फ़ाइल के रूप में सहेजने के लिए "Download CSV" पर क्लिक करें, या पाठ की प्रतिलिपि बनाने के लिए "Copy CSV" पर क्लिक करें।

सर्वर द्वारा अपलोड की कोई सीमा लागू नहीं की जाती, क्योंकि कोई भी डेटा ब्राउज़र से बाहर नहीं जाता। फिर भी बहुत बड़ी फ़ाइल ब्राउज़र टैब को धीमा कर सकती है, क्योंकि रूपांतरण के दौरान पूरी फ़ाइल मेमोरी में रखी जाती है।

CSV से JSON रूपांतरण के नियम

कनवर्टर फ़ाइल की पहली पंक्ति को कॉलम नामों के रूप में पढ़ता है। इसके बाद की प्रत्येक पंक्ति एक JSON ऑब्जेक्ट बन जाती है, जिसमें कॉलम नाम कुंजियों के रूप में होते हैं। जितने शीर्षक हैं उनसे अधिक मान वाली पंक्ति को उसकी पंक्ति में मानों की स्थिति के आधार पर अतिरिक्त कुंजियाँ दी जाती हैं; इसलिए 3 शीर्षकों के साथ चौथे मान की कुंजी field_4, पाँचवें की field_5 और इसी तरह होगी, अर्थात कोई डेटा हटाया नहीं जाता। कम मान वाली पंक्ति में अनुपस्थित कुंजियों के लिए रिक्त स्ट्रिंग रखी जाती हैं। यदि दो शीर्षकों का नाम समान हो, तो दूसरे का नाम प्रत्यय लगाकर बदल दिया जाता है; इसलिए a, a कुंजियाँ a और a_2 बन जाती हैं।

कनवर्टर RFC 4180 में परिभाषित CSV नियमों का पालन करता है, जो इस प्रारूप का तकनीकी मानक है। किसी फ़ील्ड के भीतर मौजूद कॉमा को उसी फ़ील्ड के मान के रूप में तभी माना जाता है, कॉलम विभाजक के रूप में नहीं, जब फ़ील्ड को दोहरे उद्धरण चिह्नों में घेरा गया हो, जैसे "Smith, John"। उद्धरण चिह्नों के भीतर की पंक्ति-विराम को नई पंक्ति मानने के बजाय मान के हिस्से के रूप में रखा जाता है। उद्धृत फ़ील्ड के भीतर दो दोहरे उद्धरण चिह्न एक वास्तविक उद्धरण चिह्न दर्शाते हैं।

केवल कॉमा को कॉलम विभाजक के रूप में पहचाना जाता है; उपकरण अर्धविराम, टैब या अन्य विभाजकों का पता नहीं लगाता और उनका समर्थन नहीं करता।

प्रत्येक मान की जाँच करके उसे एक प्रकार में बदला जाता है:

  • सादे अंक के रूप में लिखा मान, जैसे 42 या -3.5, JSON संख्या बन जाता है।
  • true या false पाठ (अक्षरों का कोई भी केस हो) JSON बूलियन बन जाता है।
  • बाकी सब JSON स्ट्रिंग के रूप में रहता है, जिसमें रिक्त सेल भी शामिल हैं; वे रिक्त स्ट्रिंग बन जाते हैं।
  • शुरुआत में शून्य वाली संख्या, जैसे 00512, स्ट्रिंग के रूप में रहती है, क्योंकि शुरुआत का शून्य अक्सर महत्वपूर्ण होता है, जैसे पिन कोड या ID संख्या में।
  • किसी संख्या को तभी स्वीकार किया जाता है जब उसे दोबारा लिखने पर ठीक वही पाठ प्राप्त हो। 9,007,199,254,740,991 से बड़ी पूर्ण संख्याएँ, जो JavaScript संख्या में ठीक-ठीक रखी जा सकने वाली सबसे बड़ी पूर्ण संख्याएँ हैं, सामान्यतः इस जाँच में विफल होती हैं और स्ट्रिंग बनी रहती हैं, ताकि कोई अंक न खोए।
  • फ़ाइल में पहले से उद्धरण चिह्नों में रखा गया मान हमेशा स्ट्रिंग के रूप में रखा जाता है, भले ही वह संख्या जैसा दिखे, क्योंकि उद्धरण चिह्नों को लेखक द्वारा उसे पाठ के रूप में चिह्नित करना माना जाता है।

फ़ाइल की रिक्त पंक्तियों को छोड़ दिया जाता है और उनसे रिक्त ऑब्जेक्ट नहीं बनते।

JSON से CSV रूपांतरण के नियम

कनवर्टर सारणी के प्रत्येक ऑब्जेक्ट को देखता है और उनमें उपयोग की गई सभी कुंजियों का पूरा समूह एकत्र करता है। ये कुंजियाँ पहली बार दिखाई देने के क्रम में CSV कॉलम शीर्षक बन जाती हैं। यदि किसी ऑब्जेक्ट में वह कुंजी नहीं है जो किसी दूसरे ऑब्जेक्ट में मौजूद है, तो त्रुटि उत्पन्न करने के बजाय उसका सेल रिक्त छोड़ दिया जाता है।

JSON से CSV रूपांतरण में नेस्टेड ऑब्जेक्ट को अलग-अलग कॉलम में नहीं बाँटा जाता। जो मान स्वयं कोई ऑब्जेक्ट या सारणी हो, उसे एक ही सेल के भीतर JSON पाठ के रूप में लिखा जाता है; इसलिए {"b": 1} सेल {"b":1} बन जाता है और [1, 2] सेल [1,2] बन जाता है। कुछ भी नष्ट नहीं होता, लेकिन नेस्टेड भाग अलग-अलग कॉलम में बाँटने के बजाय एक ही कॉलम में रहता है। यदि प्रत्येक भाग के लिए अपना कॉलम चाहिए, तो पहले नेस्टेड JSON को मैन्युअल रूप से समतल करें।

null मान और वह कुंजी जो एक ऑब्जेक्ट में है लेकिन दूसरे में नहीं, दोनों से रिक्त सेल बनता है।

जिस सेल मान में कॉमा, उद्धरण चिह्न या पंक्ति-विराम हो, उसे आउटपुट में दोहरे उद्धरण चिह्नों में घेरा जाता है, और उसके भीतर मौजूद प्रत्येक उद्धरण चिह्न को दोगुना किया जाता है; यह ऊपर बताए गए CSV एस्केपिंग नियम के अनुरूप है।

इनपुट JSON एक सारणी होनी चाहिए और उसमें मौजूद प्रत्येक आइटम एक ऑब्जेक्ट होना चाहिए। ऑब्जेक्ट के स्थान पर संख्या, स्ट्रिंग, null या नेस्टेड सारणी होने पर "JSON ऑब्जेक्टों की एक सारणी होनी चाहिए" त्रुटि उत्पन्न होती है। बिल्कुल खाली सारणी पर "JSON सारणी खाली है। परिवर्तित करने के लिए कम से कम एक ऑब्जेक्ट जोड़ें।" त्रुटि उत्पन्न होती है। बिना किसी सामग्री वाली अपलोड की गई फ़ाइल पर "अपलोड की गई फ़ाइल खाली है।" त्रुटि उत्पन्न होती है।

उदाहरण सहित गणना

प्रारंभिक CSV फ़ाइल:

1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4

इसे JSON में बदलने पर परिणाम:

1[
2  {
3    "Name": "Ann Lee",
4    "Age": 29,
5    "Member": true
6  },
7  {
8    "Name": "Bo, Jr.",
9    "Age": 7,
10    "Member": false
11  }
12]
13

ध्यान दें कि "Bo, Jr." में कॉमा बना रहा, क्योंकि स्रोत फ़ाइल में फ़ील्ड उद्धरण चिह्नों में था, और Age तथा Member क्रमशः संख्या और बूलियन बन गए।

उसी JSON को CSV में वापस बदलने पर, जिसमें Age अनुपस्थित वाली एक पंक्ति जोड़ी गई हो, परिणाम:

1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5

अनुपस्थित Age मान रिक्त सेल बन जाता है, और "Bo, Jr." में मौजूद कॉमा के कारण फ़ील्ड को वापस लिखते समय फिर उद्धरण चिह्नों में घेरा जाता है।

सामान्य उपयोग

  • डेटा विश्लेषण: स्प्रेडशीट या विश्लेषण उपकरण से निर्यात किए गए CSV को JSON में बदलना, ताकि उसे JavaScript से संसाधित किया जा सके, और फिर रिपोर्ट के लिए परिणामों को वापस CSV में बदलना।
  • API परीक्षण: CSV अपलोड स्वीकार करने वाला API बनाने वाला डेवलपर नमूना फ़ाइलों को JSON में बदलकर जाँच सकता है कि पार्सर अपेक्षित ऑब्जेक्ट बनाता है या नहीं।
  • डेटा माइग्रेशन: ऐसे सिस्टम से रिकॉर्ड को ऐसे सिस्टम में ले जाना जो CSV निर्यात करता है लेकिन केवल JSON स्वीकार करता है, या इसके विपरीत।
  • त्वरित निरीक्षण: JSON फ़ाइल को अधिक आसानी से पढ़ने के लिए सारणी-जैसे CSV में बदलना, या इसके विपरीत।

प्रोग्रामिंग लाइब्रेरी बड़े या बार-बार किए जाने वाले कार्यों के लिए यही रूपांतरण उपलब्ध कराती हैं, जैसे Python में csv और json मॉड्यूल, या pandas। csvkit और jq जैसे कमांड-लाइन उपकरण टर्मिनल से रूपांतरण और फ़िल्टरिंग संभालते हैं। ये विकल्प बैच प्रोसेसिंग के लिए उपयुक्त हैं; यह ब्राउज़र उपकरण बिना कुछ इंस्टॉल किए एक बार की फ़ाइल के लिए उपयुक्त है।

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

क्या अपलोड की गई फ़ाइल सर्वर पर भेजी जाती है? नहीं। रूपांतरण ब्राउज़र टैब के भीतर JavaScript में चलता है। फ़ाइल स्थानीय डिवाइस से पढ़ी जाती है और कभी प्रसारित नहीं की जाती।

क्या कनवर्टर कॉमा के अलावा अन्य विभाजकों, जैसे अर्धविराम या टैब, का समर्थन करता है? नहीं। वर्तमान संस्करण केवल कॉमा-विभाजित मान पढ़ता है। किसी अन्य विभाजक वाली फ़ाइल को पहले कॉमा-विभाजित रूप में बदलना होगा, उदाहरण के लिए पाठ संपादक में विभाजक को बदलकर।

00512 जैसी संख्या JSON आउटपुट में पाठ स्ट्रिंग के रूप में क्यों बनी रही? शुरुआत के शून्य आम तौर पर महत्वपूर्ण होते हैं, जैसे पिन कोड में, इसलिए कनवर्टर उस मान को संख्या 512 में बदलने के बजाय स्ट्रिंग के रूप में रखता है; ऐसा करने पर शून्य हट जाता।

यदि मैं नेस्टेड ऑब्जेक्ट वाला JSON बदलूँ, तो क्या होगा? नेस्टेड ऑब्जेक्ट को एक ही सेल में JSON पाठ के रूप में लिखा जाता है, उदाहरण के लिए {"b":1}। डेटा सुरक्षित रहता है, लेकिन अलग-अलग कॉलम में नहीं बाँटा जाता। यदि प्रत्येक फ़ील्ड के लिए अपना कॉलम चाहिए, तो पहले नेस्टेड डेटा को समतल करें।

यदि मेरा JSON ऑब्जेक्ट की सारणी नहीं है, तो क्या होगा? उपकरण त्रुटि दिखाता है और कुछ भी परिवर्तित नहीं करता। इनपुट JSON सारणी होना चाहिए, जिसमें प्रत्येक आइटम एक ऑब्जेक्ट हो, उदाहरण के लिए [{"a":1},{"a":2}]।

क्या CSV फ़ाइल की पहली पंक्ति हमेशा शीर्षक पंक्ति होनी चाहिए? हाँ। कनवर्टर पहली पंक्ति को हमेशा कॉलम नामों के रूप में मानता है। शीर्षक पंक्ति के बिना फ़ाइल में पहली डेटा पंक्ति को शीर्षकों के रूप में गलत पढ़ा जाएगा।

संदर्भ

  1. Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, अक्टूबर 2005। https://www.rfc-editor.org/rfc/rfc4180
  2. Bray, T., संपादक। "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, दिसंबर 2017। https://www.rfc-editor.org/rfc/rfc8259
  3. "Working with JSON." MDN Web Docs, Mozilla। https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON