NDJSON को XML में बदलें

यहाँ आप NDJSON को XML में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • बिना नुक़सान कुछ नहीं छोड़ा जाता। NDJSON में जो था, XML में ठीक वही रहता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

स्वतंत्र पंक्तियों की फ़ाइल एक अखंड दस्तावेज़ बनती है

दोनों प्रारूप एक ही सवाल के दो सिरों पर बैठे हैं। NDJSON इस तरह बना है कि कोई पंक्ति किसी दूसरी पर निर्भर नहीं — इसे कहीं भी काटा जा सकता है। XML दस्तावेज़ बिलकुल उल्टा है — यह तब तक मान्य नहीं जब तक बंद root टैग न आ जाए।

यही गुण योजना बनाने लायक़ है, एलिमेंट के नाम नहीं। बड़े निर्यात का बदलाव एक ऐसा दस्तावेज़ देता है जिसे पूरा भेजना, पार्स करना और स्वीकार करना पड़ता है, और उसमें कहीं भी विफलता पूरे को विफल कर देती है।

हर पंक्ति root के भीतर item एलिमेंट बनती है

आकार तय है क्योंकि इनपुट का आकार तय है। न्यूलाइन-अलग की गई फ़ाइल हमेशा एक सूची होती है, और सूची का अपना कोई नाम नहीं होता, इसलिए दस्तावेज़ एक root एलिमेंट है जिसमें हर रिकॉर्ड के लिए एक item एलिमेंट है।

बदलाव के दौरान इन दो नामों को बदलने का कोई विकल्प नहीं है। आउटपुट जान-बूझकर सबसे सादा सही दस्तावेज़ है, जो आगे होने वाले नाम-बदलाव को सोचा-समझा खोज-और-बदलाव बनाता है, उलझन नहीं।

root और item का नाम बदलना — हर बार का पहला संपादन

लगभग हर XML इनटेक अपने रिकॉर्ड एलिमेंट का नाम अपने स्कीमा में तय रखता है। तो ये दो सामान्य नाम प्लेसहोल्डर हैं, और उन्हें बदलना किसी भी संपादक में दो-लाइन का काम है।

पहली डिलीवरी से पहले ही यह करना दो मिनट की क़ीमत चुकाने लायक़ है। स्कीमा के ख़िलाफ़ जाँचने वाला इनटेक एलिमेंट के नाम पर पूरा दस्तावेज़ अस्वीकार कर देगा।

रिकॉर्ड के भीतर ऐरे — जो मामला XML सबसे अच्छे से सँभालता है

XML में सूची हमेशा से एक टैग का कई बार लिखा जाना रहा है, तो तीन tags वाला रिकॉर्ड तीन tags एलिमेंट पंक्ति में देता है। न गिनती, न जोड़ना, न आपकी ओर से कोई फ़ैसला — ढाँचा पूरा बचा रहता है।

यही इस फ़ाइल के लिए तालिका वाले लक्ष्यों पर XML के पक्ष में सबसे मज़बूत दलील है। इन्हीं रिकॉर्ड को CSV में बदलना गिनी हुई कॉलम, जोड़ी हुई स्ट्रिंग या अतिरिक्त पंक्तियों के बीच चुनाव मजबूर करता है।

जहाँ JSON की कुंजियाँ वैध नहीं, वहाँ नाम बदल दिए जाते हैं

JSON की कुंजियाँ कुछ भी हो सकती हैं: ख़ाली जगह, स्लैश, शुरुआत में अंक। XML एलिमेंट के नाम ऐसा नहीं कर सकते। लेखक नाकाम होने की बजाय दोबारा लिखता है — XML जिन अक्षरों को मना करता है वे अंडरस्कोर बन जाते हैं।

मशीन से बने निर्यात हाथ से लिखे गए से ज़्यादा इसका सामना करते हैं। अगर इनटेक के पास स्कीमा है, तो वे एलिमेंट किसी अपरिचित नाम के साथ मान्यता में नाकाम होंगे।

अलग-अलग फ़ील्ड वाले रिकॉर्ड अलग-अलग एलिमेंट देते हैं

तालिका वाले बदलाव जो मेल-मिलाप करते हैं, वह यहाँ नहीं होता। हर item एलिमेंट उतने ही फ़ील्ड लेता है जितने उसकी पंक्ति में थे, तो मिश्रित घटना वाली फ़ाइल एक ही दस्तावेज़ में कई आकार के item एलिमेंट देती है।

ऐसा स्कीमा जो एलिमेंट का तय क्रम बताता है, वह पहले ही रिकॉर्ड पर अस्वीकार करेगा जिसमें कोई एक छूट गया। जहाँ यह मामला हो, या तो स्रोत को एक तरह के रिकॉर्ड तक फ़िल्टर कीजिए या छूटे एलिमेंट को ख़ाली जोड़िए।

एस्केपिंग, null और ग़ैर-लैटिन पाठ

किसी मूल्य में एम्परसैंड, कोणीय कोष्ठक या दोहरे उद्धरण चिह्न एस्केप किए जाते हैं, जो दस्तावेज़ को समय से पहले ख़त्म होने से रोकता है। बाक़ी सब, संयुक्ताक्षर और ग़ैर-लैटिन पाठ समेत, UTF-8 में लिखा जाता है।

JSON का null एक ख़ाली एलिमेंट बनता है: टैग मौजूद रहता है, बीच में कुछ नहीं। कुछ स्कीमा उसकी जगह xsi:nil चाहते हैं। स्रोत के पास «कुछ नहीं» कहने का एक ही तरीक़ा है, इसलिए यह फ़र्क़ आउटपुट पर की गई स्क्रिप्टेड संपादना है।

दस्तावेज़ उस निर्यात से बड़ा है जहाँ से वह आया

हर फ़ील्ड का नाम रिकॉर्ड में दो बार आता है — खुलने और बंद होने वाले टैग में — जहाँ NDJSON उसे एक बार लिखता है। इंडेंटेशन जोड़कर लंबे फ़ील्ड नामों वाली छोटी क़ीमतों की फ़ाइल स्रोत से दो से तीन गुना बड़ी बैठती है।

SFTP ड्रॉप पर इससे कोई फ़र्क़ नहीं पड़ता। आकार-सीमित मैसेज क़तार पर यह तय करता है कि एक बैच में कितने रिकॉर्ड आएँगे। जवाब लगभग हमेशा संपीड़न है, ढाँचा बदलना नहीं।

निर्यात XML बनते हुए मशीन पर ही रहता है

बदलाव इसी ब्राउज़र टैब में चलता है: फ़ाइल को पंक्ति-दर-पंक्ति पढ़ा जाता है और दस्तावेज़ पन्ने के भीतर छोटे लेखक द्वारा लिखा जाता है। कुछ अपलोड नहीं होता, न कोई खाता है, न कोई क़तार, और मुफ़्त स्तर 100 MB तक स्वीकार करता है।

इस रास्ते पर पहुँचने वाला डेटा शायद ही कभी मामूली होता है। नियामकों, बैंकों, बीमा कंपनियों और साझेदार तंत्रों तक की डिलीवरी ऐसी ही फ़ाइलें होती हैं जिन पर गोपनीयता की शर्त लगी होती है, और इसे किसी अनजान वेब सेवा से गुज़ारना एक दूसरा ख़ुलासा होता जिस पर किसी ने सहमति नहीं दी थी।

NDJSON को XML में ऐसे बदलें

  1. अपनी NDJSON फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में XML चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार XML फ़ाइल डाउनलोड कर लें।

NDJSON या XML: क्या बदलता है

NDJSON और XML की तुलना
NDJSONXML
पूरा नामNewline-Delimited JSONExtensible Markup Language
फ़ाइल एक्सटेंशन.ndjson, .jsonl.xml
मीडिया टाइपapplication/x-ndjsonapplication/xml
पहली बार प्रकाशित20131998
प्रकाशकW3C
विनिर्देशXML 1.0
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदामौजूदा
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींहर ब्राउज़र
इसकी जगह विचारणीयJSON, CSVJSON, YAML

क्या बचा रहता है

कुछ नहीं खोता। NDJSON और XML — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।

नतीजा खोलना

XML को हर मौजूदा ब्राउज़र खोल लेता है। NDJSON को इतने भी नहीं। अगर फ़ाइल किसी वेब पेज या किसी फ़ॉर्म तक जा रही है, तो आम तौर पर इस कन्वर्ज़न की पूरी वजह यही है।

दोनों तरफ़ के प्रोग्राम अलग हैं: NDJSON फ़ाइल jq और pandas में खुलती है और XML फ़ाइल Visual Studio Code और oXygen XML Editor में — यानी नतीजा जिसके पास जाएगा, उसे दूसरी सूची में से कोई प्रोग्राम चाहिए होगा।

कौन-सा फ़ॉर्मेट किस काम के लिए है

XML W3C का है और 1998 से चला आ रहा है, और XML 1.0 में तय किया गया है। Visual Studio Code और oXygen XML Editor इस फ़ॉर्मेट को पढ़ लेते है।

XML 1998 में आया और NDJSON 2013 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।

NDJSON से XML: आम सवाल

क्या मेरी NDJSON फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।

क्या NDJSON को XML में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।

NDJSON को XML में बदलने पर क्या गुणवत्ता जाती है?

नहीं। XML वही सामग्री बिना कुछ फेंके सँभालता है: नतीजा गुणवत्ता में असली फ़ाइल जैसा ही होता है।

क्या NDJSON से XML बिना नुक़सान का है?

कुछ नहीं खोता। NDJSON और XML — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।

इन फ़ॉर्मेट के बारे में और