JSON से CSV कन्वर्टर
यह टूल क्या करता है
किसी ने आपको एक API जवाब भेजा है और कोई और वही चीज़ स्प्रेडशीट में चाहता है। पूरा काम यही है — और दिखने से कठिन है, क्योंकि JSON एक पेड़ है और स्प्रेडशीट एक जाली। यह पेज वे तीन फ़ैसले करता है जो एक को दूसरे में बदलते हैं, और बताता है कि क्या तय किया।
इसे कैसे इस्तेमाल करें
- 1 JSON चिपकाएँ, या कोई .json फ़ाइल छोड़ें।
- 2 विभाजक चुनें — फ़ाइल Excel के लिए है तो अर्धविराम लें।
- 3 बदलें दबाएँ, फिर नतीजा कॉपी करें या .csv डाउनलोड करें।
पेड़ जाली में नहीं समाता, इसलिए उसे समतल किया जाता है
नेस्टेड ऑब्जेक्ट बिंदु वाला कॉलम बन जाता है: {"city":{"name":"London"}} से city.name कॉलम बनता है। ऐसा न हो तो कन्वर्टर सेल में "[object Object]" लिख देता है — फ़ाइल खुलती है, सही लगती है, और आपका आधा डेटा ग़ायब है। सादे मानों की सूचियाँ एक सेल में जुड़ जाती हैं; ऑब्जेक्ट वाली सूचियों को गिनती वाले कॉलम मिलते हैं।
[
{
"name": "Ada",
"city": { "name": "London" },
"note": "Loves \"tea\""
},
{
"name": "Grace",
"city": { "name": "New York, NY" },
"tags": ["math", "navy"]
}
]
name,city.name,note,tags Ada,London,"Loves ""tea""", Grace,"New York, NY",,math; navy
कॉलम पहली पंक्ति से नहीं, हर पंक्ति से आते हैं
असली डेटा में रिकॉर्डों के फ़ील्ड शायद ही एक जैसे होते हैं: कोई वैकल्पिक फ़ील्ड चालीसवें रिकॉर्ड में आता है, उससे पहले कहीं नहीं। सिर्फ़ पहला रिकॉर्ड पढ़ने वाला कन्वर्टर उस कॉलम को चुपचाप गिरा देता है, और आउटपुट में कुछ नहीं बताता। यहाँ हेडर देखी गई सभी कुंजियों का मिलन है, पहली बार दिखने के क्रम में; जिन रिकॉर्डों में फ़ील्ड नहीं, उन्हें खाली सेल मिलता है।
एक भटका हुआ अल्पविराम सारे कॉलम खिसका देता है
जिस भी मान में विभाजक, उद्धरण चिह्न या लाइन ब्रेक हो, उसे उद्धरण में लपेटना पड़ता है और भीतर के उद्धरण दोहराने पड़ते हैं। CSV मानक यही माँगता है और कन्वर्टर सबसे ज़्यादा यहीं चूकते हैं। अल्पविराम वाला पता, लाइन ब्रेक वाली टिप्पणी, अपॉस्ट्रॉफ़ी वाला नाम — इनमें से हर एक, यह क़दम छोड़ने वाली फ़ाइल को चुपचाप तोड़ देता है।
Excel, CSV फ़ाइलों को दो अलग तरीक़ों से बिगाड़ता है
पहला: बाइट-ऑर्डर मार्क के बिना वह UTF-8 को स्थानीय कोड पेज मानकर पढ़ता है, और मात्रा वाले तथा ग़ैर-लैटिन अक्षर लुगदी बन जाते हैं। दूसरा: कई लोकेल में वह अल्पविराम नहीं, अर्धविराम की उम्मीद करता है और हर पंक्ति को एक ही कॉलम में ठूँस देता है। यहाँ दोनों विकल्प हैं और दोनों डिफ़ॉल्ट रूप से बंद — क्योंकि मानक अल्पविराम और बिना मार्क कहता है, और फ़ाइल अक्सर स्प्रेडशीट को नहीं, किसी स्क्रिप्ट को जाती है।