JSON को CSV में बदलें
API रिस्पॉन्स, एक्सपोर्ट और JSON Lines को ऐसी CSV में बदलें जो Excel में साफ़ खुले — रिकॉर्ड आपके लिए ढूंढे जाते हैं, नेस्टेड फ़ील्ड पढ़ने लायक कॉलम में फ़्लैट होते हैं, और बड़ी ID अंक-दर-अंक बची रहती हैं।
- कभी स्टोर नहीं होती
- न कतार, न इंतज़ार
- साइनअप नहीं, वॉटरमार्क नहीं
यह कैसे काम करता है
JSON जोड़ें
.json या .jsonl फ़ाइल यहां छोड़ें, या JSON सीधे बॉक्स में पेस्ट करें।
रिकॉर्ड चुनें
रिकॉर्ड की सूची अपने-आप ढूंढी जाती है, data.items के बहुत अंदर होने पर भी। चुनें कि ऐरे कैसे लिखे जाएं और प्रीव्यू जांचें।
डाउनलोड करें
आपकी ज़रूरत के डेलिमिटर और एन्कोडिंग वाली CSV, Excel, Google Sheets या डेटाबेस के लिए तैयार।
एक ट्री को ग्रिड में फ़्लैट करना
JSON एक ट्री है और CSV एक आयत, और पूरा कन्वर्ज़न इसी सवाल का है कि एक दूसरे में कैसे बदले। साफ़ मामला है ऑब्जेक्ट की ऐसी ऐरे जिनमें सबकी की एक जैसी हों — हर ऑब्जेक्ट एक पंक्ति, हर की एक कॉलम, और कुछ नहीं खोता। ज़्यादातर API रिस्पॉन्स और एक्सपोर्ट ऐसे ही दिखते हैं, इसीलिए यह आम तौर पर बस चल जाता है। सारी दिक़्क़त उन डॉक्यूमेंट से आती है जिनका आकार ऐसा नहीं है।
नेस्टेड ऑब्जेक्ट उनकी की को जोड़कर फ़्लैट किए जाते हैं, इसलिए किसी ग्राहक के अंदर का पता ऑब्जेक्ट address.city और address.postcode जैसे कॉलम बन जाता है — एक ऐसा चलन जिसे हर स्प्रेडशीट संभालती है और कोई मानक परिभाषित नहीं करता। जो की कुछ ऑब्जेक्ट में हैं और कुछ में नहीं, वे ऐसे कॉलम बनती हैं जो उन पंक्तियों में ख़ाली रहते हैं जिनमें वे नहीं थीं, और यही सही जवाब है: दूसरा रास्ता ऐसा डेटा छोड़ देना है जो सिर्फ़ कुछ रिकॉर्ड में है।
नेस्टेड ऐरे वह जगह है जहां ग्रिड सचमुच साथ नहीं दे सकता। तीन ऑर्डर लाइन वाला एक रिकॉर्ड एक सूची वाली एक पंक्ति है, तीन पंक्तियां नहीं — उसे तीन बनाने से हर दूसरा फ़ील्ड दोहराया जाएगा और डेटा का मतलब चुपचाप बदल जाएगा। इसलिए ऑब्जेक्ट की एक ऐरे को पंक्तियों में फैलाया जाता है और बाक़ी को उनके सेल में टेक्स्ट के रूप में लिखा जाता है। अगर आपको ऑर्डर नहीं, ऑर्डर लाइन चाहिए, तो कन्वर्ज़न को उस ऐरे की ओर मोड़ें; दो सूचियां अगल-बगल रखने वाले ट्री का कोई एक सही आयत नहीं होता, और उसे चुनना ऐसा फ़ैसला है जो सिर्फ़ आप ले सकते हैं।
बाहर निकलते समय दो बातें चुभती हैं। कॉमा, कोट मार्क या लाइन ब्रेक वाली वैल्यू कोट में रखी जाती हैं ताकि वे बची रहें — यह सही CSV है और रॉ फ़ाइल देखने पर अजीब लगती है। और लंबा न्यूमेरिक आइडेंटिफ़ायर CSV के स्प्रेडशीट तक पहुंचते ही ख़तरा बन जाता है: Excel उसे नंबर की तरह पढ़ेगा, पंद्रह अंकों के बाद राउंड कर देगा और शुरुआती ज़ीरो हटा देगा, और यह समस्या कन्वर्ज़न से नहीं, स्प्रेडशीट से पैदा होती है।
जब आपको कुछ और चाहिए
जब आकार का अंदाज़ा नहीं, फ़ैसला करना हो, तो jq सही टूल है: jq -r '.orders[] | [.id, .customer.name, .total] | @csv' ठीक वही फ़ील्ड चुनता है जो आप चाहते हैं, ठीक उसी स्तर से जहां से आप चाहते हैं, और यह वह नियंत्रण है जो अपने-आप फ़्लैट करने वाला टूल नहीं दे सकता। यह स्ट्रीम भी करता है, इसलिए फ़ाइल साइज़ की चिंता ख़त्म हो जाती है।
आम तौर पर नेस्टेड डेटा के लिए, Miller — mlr --ijson --ocsv flatten — और Python का pandas.json_normalize आपको साफ़ नियंत्रण देते हैं कि कितनी गहराई तक फ़्लैट करना है और सूचियों का क्या करना है। और अगर JSON टेबल जैसा नहीं, सच में पदानुक्रम वाला है, तो उसे CSV में बदलना ही ग़लत विचार हो सकता है — डेटाबेस या लाइन-दर-लाइन JSON फ़ाइल वह संरचना बनाए रखती है जिसे ग्रिड मिटाने वाला है।
अक्सर पूछे जाने वाले सवाल
नेस्टेड JSON कॉलम कैसे बनता है?
हर नेस्टेड फ़ील्ड अपने पाथ के नाम वाला एक कॉलम बनता है: {"address": {"city": "Oslo"}} से address.city कॉलम बनता है। कॉलम उसी क्रम में आते हैं जिसमें वे आपके डेटा में पहली बार आते हैं, वर्णक्रम में नहीं, और जिन रिकॉर्ड में कोई फ़ील्ड नहीं है, उनमें वह सेल बस ख़ाली रहता है।
ऐरे का क्या होता है?
आप चुनते हैं: वैल्यू को एक सेल में जोड़ें (“red; green”), उन्हें नंबर वाले कॉलम में फैलाएं (tags.0, tags.1), JSON टेक्स्ट के रूप में रखें, या — ऑर्डर लाइन जैसी ऑब्जेक्ट की ऐरे के लिए — हर आइटम की एक पंक्ति लिखें और पैरेंट फ़ील्ड दोहराएं।
क्या बड़े नंबर बिल्कुल सटीक रहते हैं?
हां। JavaScript जितनी संभाल सकता है उससे बड़ी ID — Twitter, Discord और 64-बिट डेटाबेस ID — अंक-दर-अंक कॉपी होती हैं, जबकि ज़्यादातर कन्वर्टर चुपचाप 1234567890123456789 को 1234567890123456800 कर देते हैं।
क्या JSON Lines (NDJSON) सपोर्टेड है?
हां। हर लाइन में एक JSON ऑब्जेक्ट वाली फ़ाइल अपने-आप पहचानी जाती है, और हर लाइन एक पंक्ति बनती है।
अगर मेरे JSON में कोई एरर हो तो?
आपको ठीक-ठीक लाइन और कॉलम मिलता है, गड़बड़ वाला टेक्स्ट हाइलाइट होकर, और आसान भाषा में समझाया जाता है — जैसे आख़िर में छूटा कॉमा, या JavaScript कोड से कॉपी हुए सिंगल कोट।
क्या मेरा डेटा कहीं स्टोर होता है?
नहीं। JSON यहीं पढ़ा जाता है और CSV यहीं लिखी जाती है; कुछ भी कहीं भेजा नहीं जाता और कुछ भी स्टोर नहीं होता।
ध्यान दें: एक बार में ऑब्जेक्ट की सिर्फ़ एक ऐरे को पंक्तियों में फैलाया जा सकता है; बाक़ी ऐरे अपने सेल में लिखी जाती हैं। बहुत बड़ी फ़ाइलें आपके ब्राउज़र की मेमोरी से सीमित होती हैं।
यह टूल अपनी वेबसाइट पर लगाएं
किसी भी ब्लॉग, क्लास पेज या हेल्प आर्टिकल के लिए मुफ़्त। एक स्निपेट पेस्ट करें और आपके विज़िटर इसे सीधे आपके पेज पर इस्तेमाल कर सकेंगे।
और स्प्रेडशीट टूल्स
CSV को JSON में बदलें
CSV से टाइप वाला, नेस्टेड JSON
CSV को Excel में बदलें
CSV से XLSX, असली नंबर और तारीख़ों के साथ
XML को Excel में बदलें
XML रिकॉर्ड से फ़ॉर्मैट की हुई Excel शीट
Excel को XML में बदलें
पंक्तियों से साफ़, सही बना XML
Excel को CSV में बदलें
कोई भी शीट CSV में, आपकी ज़रूरत की एन्कोडिंग में
ODS को XLSX में बदलें
LibreOffice स्प्रेडशीट को Excel वर्कबुक में