भाषा चुनें

ऑनलाइन JSON से XML कन्वर्टर

अपने JSON डेटा को तुरंत XML में बदलें। रूट एलिमेंट, इंडेंटेशन और एट्रिब्यूट प्रीफ़िक्स जैसे विकल्पों के साथ अपने आउटपुट को अनुकूलित करें।

Mehmet Demiray (मेहमत देमिराय) प्रकाशित अपडेट किया गया
साझा करें
प्रति नेस्टिंग स्तर स्पेस की संख्या

आज भी JSON को XML में बदलने की ज़रूरत क्यों पड़ती है?

आज के वेब डेवलपमेंट में JSON (JavaScript Object Notation) डेटा के आदान-प्रदान का मानक बन चुका है। यह हल्का, पढ़ने में आसान और लगभग हर प्रोग्रामिंग भाषा के साथ काम करता है। फिर भी, कई स्थितियों में डेवलपर्स और इंटीग्रेशन इंजीनियरों को JSON डेटा को XML (eXtensible Markup Language) में बदलने की ज़रूरत पड़ती है। हमारा JSON से XML कन्वर्टर इसी ज़रूरत को पूरा करने के लिए बनाया गया है।

इसकी सबसे बड़ी वजह है लिगेसी सिस्टम (पुरानी प्रणालियाँ)। भारत में कई बड़े उद्योग, जैसे बैंकिंग, बीमा, और सरकारी विभाग, दशकों पुराने सॉफ्टवेयर और इंफ्रास्ट्रक्चर पर चल रहे हैं। ये सिस्टम अक्सर डेटा प्रोसेसिंग के लिए XML पर निर्भर करते हैं। उदाहरण के लिए, किसी बैंक का कोर बैंकिंग सिस्टम या सरकारी GST पोर्टल आपसे डेटा XML फॉर्मेट में ही मांग सकता है। इन सिस्टम्स को अपडेट करना बहुत महंगा और जटिल हो सकता है, इसलिए इनके साथ जुड़ने के लिए अपने नए JSON-आधारित एप्लीकेशन के डेटा को XML में बदलना ही एकमात्र उपाय होता है।

इसके अलावा, SOAP (Simple Object Access Protocol) APIs, जो एंटरप्राइज-स्तर के एप्लीकेशन में आज भी प्रचलित हैं, संचार के लिए XML का ही उपयोग करते हैं। जबकि आधुनिक REST APIs ज़्यादातर JSON का इस्तेमाल करते हैं, SOAP आधारित सेवाओं के साथ इंटीग्रेशन के लिए XML अनिवार्य है। इसी तरह, कई एंटरप्राइज डेटा फीड्स, कॉन्फ़िगरेशन फाइलें, और रिपोर्टिंग सिस्टम्स XML पर ही आधारित होते हैं। इन मामलों में, JSON डेटा को XML में बदलना एक रोज़मर्रा का काम बन जाता है।

JSON से XML रूपांतरण के नियम: यह कैसे काम करता है

JSON को XML में बदलना सिर्फ सिंटैक्स बदलना नहीं है; यह एक डेटा संरचना को दूसरी में मैप करने की प्रक्रिया है। हमारा JSON से XML कन्वर्टर कुछ स्थापित नियमों का पालन करता है ताकि यह रूपांतरण सटीक और अनुमानित हो।

  1. JSON ऑब्जेक्ट्स से XML एलीमेंट्स: JSON में एक की-वैल्यू (key-value) जोड़ी एक XML एलीमेंट में बदल जाती है। की (key) एलीमेंट का नाम बन जाती है और वैल्यू (value) उस एलीमेंट का टेक्स्ट कंटेंट बन जाती है। उदाहरण के लिए, JSON { "नाम": "विराट" } का XML रूपांतरण <नाम>विराट</नाम> होगा।
  1. JSON ऐरे (Arrays) से दोहराए जाने वाले एलीमेंट्स: XML में ऐरे (array) की सीधी कोई अवधारणा नहीं है। इसलिए, JSON ऐरे के हर आइटम के लिए एक ही नाम का XML एलीमेंट दोहराया जाता है। उदाहरण के लिए, JSON { "खिलाड़ी": ["सचिन", "विराट"] } इस तरह बदलेगा: <खिलाड़ी>सचिन</खिलाड़ी><खिलाड़ी>विराट</खिलाड़ी>। यदि ऐरे में ऑब्जेक्ट्स हों, तो हर ऑब्जेक्ट के लिए पैरेंट एलीमेंट दोहराया जाएगा।
  1. रूट एलीमेंट (Root Element) का जुड़ना: एक वैध XML डॉक्यूमेंट में हमेशा एक और केवल एक रूट एलीमेंट होना चाहिए जो बाकी सभी एलीमेंट्स को घेरता है। चूंकि JSON में ऐसी कोई आवश्यकता नहीं होती, कन्वर्टर स्वचालित रूप से एक रूट एलीमेंट (जैसे <root>) जोड़ देता है। हमारा टूल आपको इस रूट एलीमेंट का नाम अपनी ज़रूरत के अनुसार बदलने की सुविधा भी देता है।
  1. नेस्टेड ऑब्जेक्ट्स (Nested Objects): यदि एक JSON ऑब्जेक्ट के अंदर दूसरा ऑब्जेक्ट है, तो XML में भी एलीमेंट्स के अंदर एलीमेंट्स (नेस्टिंग) बन जाती है। { "कर्मचारी": { "नाम": "सुनीता", "विभाग": "आईटी" } } का परिणाम होगा: <कर्मचारी><नाम>सुनीता</नाम><विभाग>आईटी</विभाग></कर्मचारी>

इन नियमों को समझकर आप आसानी से अनुमान लगा सकते हैं कि आपका JSON डेटा XML में कैसा दिखेगा। यदि आपका JSON जटिल है, तो रूपांतरण से पहले उसे ठीक से प्रारूपित करने के लिए आप JSON फ़ॉर्मैटर जैसे टूल का उपयोग कर सकते हैं।

अपने XML आउटपुट को कैसे फॉर्मेट करें: इंडेंटेशन और डिक्लेरेशन

एक सफल डेटा रूपांतरण केवल सही डेटा उत्पन्न करने के बारे में नहीं है; यह पठनीय (readable) और संगत (compatible) आउटपुट बनाने के बारे में भी है। JSON से XML कन्वर्टर आपको अपने XML आउटपुट को फाइन-ट्यून करने के लिए कई महत्वपूर्ण विकल्प प्रदान करता है।

इंडेंटेशन (Indentation): बिना इंडेंटेशन के, एक XML फ़ाइल कोड की एक लंबी, न समझ आने वाली लाइन की तरह दिख सकती है। इंडेंटेशन हर नेस्टेड एलीमेंट को थोड़ा दाहिनी ओर खिसका कर एक स्पष्ट पदानुक्रम (hierarchy) बनाता है। यह मानव आँखों के लिए कोड को पढ़ना और डीबग करना बेहद आसान बना देता है। हमारा टूल आपको इंडेंटेशन के लिए स्पेस (जैसे 2 या 4 स्पेस) या टैब चुनने की सुविधा देता है। इससे आप अपने संगठन या प्रोजेक्ट की कोडिंग स्टाइल गाइडलाइन्स का पालन कर सकते हैं।

XML डिक्लेरेशन (XML Declaration): यह XML फ़ाइल की पहली लाइन होती है, जो कुछ इस तरह दिखती है: <?xml version="1.0" encoding="UTF-8"?>। यह लाइन पार्सर को बताती है कि यह एक XML डॉक्यूमेंट है, इसका संस्करण क्या है, और इसमें कौन सी कैरेक्टर एन्कोडिंग (जैसे UTF-8) उपयोग की गई है। हालांकि यह तकनीकी रूप से वैकल्पिक है, अधिकांश सिस्टम्स और पार्सर्स को इसकी आवश्यकता होती है। हमारा कन्वर्टर आपको एक क्लिक से इस डिक्लेरेशन को जोड़ने या हटाने की सुविधा देता है, जिससे विभिन्न सिस्टम्स के साथ अधिकतम संगतता सुनिश्चित होती है।

एट्रिब्यूट प्रीफिक्स (Attribute Prefix): कभी-कभी, आप JSON की-वैल्यू जोड़ी को एक एलीमेंट के बजाय एक एट्रिब्यूट के रूप में मैप करना चाह सकते हैं। यह टूल एक प्रीफिक्स (जैसे @) का उपयोग करके इसकी अनुमति देता है। उदाहरण के लिए, { "कर्मचारी": { "@id": "101", "नाम": "अनिल" } } को <कर्मचारी id="101"><नाम>अनिल</नाम></कर्मचारी> में बदला जा सकता है। यह विकल्प आपको अधिक कॉम्पैक्ट और विशिष्ट XML संरचना बनाने में मदद करता है।

रूपांतरण में आम समस्याएं और उनके समाधान

JSON से XML में डेटा बदलते समय कुछ सामान्य समस्याएं आ सकती हैं, खासकर जब स्रोत JSON डेटा जटिल या असंगत हो। इन समस्याओं को पहले से जानना आपको गलतियों से बचने में मदद कर सकता है।

अमान्य XML टैग नाम (Invalid XML Tag Names): XML में एलीमेंट के नामों के लिए कड़े नियम हैं। वे किसी संख्या या विराम चिह्न से शुरू नहीं हो सकते और उनमें स्पेस नहीं हो सकता। JSON में की (key) के लिए ऐसे कोई कड़े नियम नहीं हैं। यदि आपके JSON में "1stItem": "पहला" जैसी की है, तो यह एक अमान्य XML टैग <1stItem> बनाने की कोशिश करेगा। हमारा JSON से XML कन्वर्टर ऐसी स्थितियों को संभालने का प्रयास करता है, लेकिन सबसे अच्छा अभ्यास यह है कि आप अपने JSON कीज़ को XML-संगत नामों के साथ ही बनाएं।

null मानों का प्रबंधन (Handling null values): JSON में null का अर्थ है 'कोई मान नहीं'। जब इसे XML में बदला जाता है, तो यह आमतौर पर एक खाली एलीमेंट बन जाता है। उदाहरण के लिए, { "पता": null } का परिणाम <पता></पता> होगा। यह उस स्थिति से अलग है जहां 'पता' की मौजूद ही नहीं है। कुछ सिस्टम इन दोनों स्थितियों को अलग-अलग तरीके से समझते हैं, इसलिए यह जानना महत्वपूर्ण है कि null मान कैसे परिवर्तित होते हैं।

विशेष वर्णों की एस्केपिंग (Escaping Special Characters): XML में कुछ वर्णों का विशेष अर्थ होता है, जैसे < (टैग शुरू), > (टैग बंद), और & (एंटिटी शुरू)। यदि ये वर्ण आपके डेटा में मौजूद हैं, तो उन्हें XML को तोड़ने से बचाने के लिए एस्केप करना होगा। जैसे, "कंपनी": "M&M" को <कंपनी>M&amp;M</कंपनी> में बदलना होगा। हमारा कन्वर्टर यह प्रक्रिया स्वचालित रूप से करता है, जिससे आपका XML हमेशा वैध और सुरक्षित रहता है। डेटा को दूसरे प्रारूपों में बदलने के लिए आप JSON से CSV कन्वर्टर जैसे अन्य टूल भी देख सकते हैं।

JSON ऐरे (Array) को XML में कैसे दर्शाया जाता है?

JSON और XML के बीच संरचनात्मक अंतरों में से एक यह है कि वे सूचियों या ऐरे (arrays) को कैसे संभालते हैं। JSON में, ऐरे एक मूलभूत डेटा प्रकार है, जिसे वर्गाकार कोष्ठक [ ] का उपयोग करके दर्शाया जाता है। लेकिन, XML में ऐरे के लिए कोई सीधा समकक्ष नहीं है। इसके बजाय, XML एक ही नाम के साथ कई सिबलिंग एलीमेंट्स (sibling elements) का उपयोग करके एक सूची का प्रतिनिधित्व करता है।

जब हमारा JSON से XML कन्वर्टर एक ऐरे को प्रोसेस करता है, तो यह पैरेंट की (parent key) के नाम का उपयोग करके ऐरे के प्रत्येक आइटम के लिए एक नया XML एलीमेंट बनाता है।

उदाहरण के लिए, एक साधारण स्ट्रिंग ऐरे पर विचार करें: { "फल": ["सेब", "केला", "आम"] }

इसका XML रूपांतरण इस प्रकार होगा: <फल>सेब</फल> <फल>केला</फल> <फल>आम</फल>

यहाँ, 'फल' की (key) ऐरे के प्रत्येक आइटम के लिए एलीमेंट नाम बन गया।

यह सिद्धांत ऑब्जेक्ट्स के ऐरे पर भी लागू होता है, जो एक बहुत ही सामान्य उपयोग का मामला है। मान लीजिए आपके पास छात्रों की एक सूची है: { "छात्र": [ { "नाम": "प्रिया", "रोल_नंबर": 15 }, { "नाम": "रोहन", "रोल_नंबर": 16 } ] }

कन्वर्टर इसे इस तरह से मैप करेगा: <छात्र> <नाम>प्रिया</नाम> <रोल_नंबर>15</रोल_नंबर> </छात्र> <छात्र> <नाम>रोहन</नाम> <रोल_नंबर>16</रोल_नंबर> </छात्र>

यह समझना महत्वपूर्ण है क्योंकि जिस सिस्टम में आप यह XML भेज रहे हैं, उसे इसी दोहराए जाने वाले एलीमेंट संरचना को पार्स करने के लिए डिज़ाइन किया जाना चाहिए। यदि आप डेटा को विपरीत दिशा में बदलना चाहते हैं, तो एक अच्छा XML से JSON कन्वर्टर इस संरचना को वापस JSON ऐरे में बदल देगा।

कस्टम रूट एलीमेंट और इसका महत्व

प्रत्येक सुगठित XML डॉक्यूमेंट की एक बुनियादी आवश्यकता होती है: इसमें एक और केवल एक रूट एलीमेंट होना चाहिए। यह रूट एलीमेंट एक कंटेनर की तरह काम करता है जो डॉक्यूमेंट के अन्य सभी एलीमेंट्स को अपने अंदर समाहित करता है। जब आप JSON से रूपांतरण करते हैं, जिसमें स्वाभाविक रूप से कोई एक रूट नहीं होता है, तो एक रूट एलीमेंट बनाना आवश्यक हो जाता है।

हमारा JSON से XML कन्वर्टर स्वचालित रूप से एक डिफ़ॉल्ट रूट एलीमेंट (जैसे <root>) जोड़ता है ताकि यह सुनिश्चित हो सके कि आउटपुट एक वैध XML है। हालांकि, वास्तविक दुनिया के परिदृश्यों में, आपको अक्सर एक विशिष्ट नाम वाले रूट एलीमेंट की आवश्यकता होगी। जिस सिस्टम या API को आप यह XML भेज रहे हैं, उसकी अपनी स्कीमा (schema) या आवश्यकताएं हो सकती हैं।

उदाहरण के लिए, यदि आप एक ई-कॉमर्स प्लेटफॉर्म के लिए उत्पाद डेटा भेज रहे हैं, तो उसे <products> नामक रूट एलीमेंट की आवश्यकता हो सकती है। यदि आप किसी बिलिंग सिस्टम में इनवॉइस डेटा सबमिट कर रहे हैं, तो उसे <invoices> की आवश्यकता हो सकती है।

यहीं पर हमारे टूल का 'कस्टम रूट एलीमेंट' विकल्प काम आता है। यह आपको डिफ़ॉल्ट नाम को अपनी पसंद के किसी भी नाम से बदलने की अनुमति देता है। बस इनपुट फ़ील्ड में वांछित रूट एलीमेंट का नाम टाइप करें, और कन्वर्टर आपके सभी डेटा को उस कस्टम टैग के अंदर रैप कर देगा। यह छोटी सी सुविधा आपके आउटपुट XML की संगतता और उपयोगिता में बहुत बड़ा अंतर ला सकती है, जिससे आपको मैन्युअल रूप से फ़ाइल को संपादित करने की परेशानी से बचाया जा सकता है। यह आपके वर्कफ़्लो को सुव्यवस्थित करता है और यह सुनिश्चित करता है कि आपका डेटा पहली बार में ही लक्षित सिस्टम द्वारा स्वीकार कर लिया जाए।

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

आजकल सब JSON इस्तेमाल करते हैं, तो मुझे JSON को XML में बदलने की ज़रूरत क्यों पड़ेगी?

आपका सवाल सही है, JSON नई प्रणालियों में बहुत लोकप्रिय है। लेकिन, कई बड़ी कंपनियाँ और सरकारी संगठन अभी भी अपनी पुरानी (legacy) प्रणालियों, SOAP आधारित वेब सेवाओं, या एंटरप्राइज़ डेटा फ़ीड्स के लिए XML पर निर्भर हैं। जब आपको इन XML-आधारित सिस्टम के साथ डेटा का आदान-प्रदान करना होता है, तो यह "JSON से XML कन्वर्टर" बहुत काम आता है।

मैं अपने XML आउटपुट के लिए एक कस्टम 'रूट एलिमेंट' कैसे सेट करूँ?

यह बहुत आसान है। JSON कोड डालने के बाद, आपको 'विकल्प' (Options) सेक्शन में 'रूट एलिमेंट का नाम' (Root Element Name) नामक एक फ़ील्ड दिखाई देगा। बस उस बॉक्स में अपना मनचाहा नाम टाइप करें और कन्वर्ट करें। अगर आप इसे खाली छोड़ देते हैं, तो टूल डिफ़ॉल्ट रूप से <root> नाम का उपयोग करेगा।

JSON ऐरे (array) को XML में कैसे बदला जाता है?

जब हमारा "JSON से XML कन्वर्टर" एक ऐरे को देखता है, तो वह ऐरे के हर आइटम के लिए एक ही नाम का XML एलिमेंट बनाता है। उदाहरण के लिए, अगर आपके JSON में {"users": ["amit", "sumita"]} है, तो XML आउटपुट कुछ इस तरह होगा: <users>amit</users><users>sumita</users>। यह कई सिस्टम्स के लिए XML पढ़ने का मानक तरीका है।

क्या XML में विशेष वर्ण जैसे '&', '<', '>' अपने आप एस्केप हो जाएँगे?

हाँ, बिल्कुल। हमारा कन्वर्टर यह सुनिश्चित करता है कि आपका आउटपुट XML मान्य हो। यह JSON वैल्यू में मौजूद सभी आरक्षित XML वर्णों (जैसे <, >, &, ', ") को उनके संबंधित एंटिटी कोड (जैसे &lt;, &gt;, &amp;, &apos;, &quot;) में स्वचालित रूप से बदल देता है। आपको इसके बारे में चिंता करने की ज़रूरत नहीं है।

JSON में `null` वैल्यू का XML में क्या होता है?

जब टूल को JSON में एक null वैल्यू मिलती है, तो वह इसे एक खाली XML एलिमेंट में बदल देता है। उदाहरण के लिए, {"name": "Ravi", "age": null} का परिणाम <name>Ravi</name><age/> जैसा होगा। यह XML में डेटा की अनुपस्थिति को दर्शाने का एक सामान्य तरीका है।

अगर मेरी JSON की (key) किसी नंबर या विशेष वर्ण से शुरू होती है तो क्या होगा?

यह एक ज़रूरी सवाल है। XML एलिमेंट के नाम नंबर या कुछ विशेष वर्णों से शुरू नहीं हो सकते। हमारा टूल इस समस्या को अपने आप नहीं सुलझाता है। आपको यह सुनिश्चित करना होगा कि आपकी सभी JSON कीज़ (keys) मान्य XML नामों के अनुरूप हों, यानी वे अक्षरों से शुरू हों। रूपांतरण से पहले अपनी कीज़ (keys) को ठीक करना सबसे अच्छा तरीका है।

कन्वर्टर में 'इंडेंट' (Indent) का विकल्प किसलिए है?

'इंडेंट' विकल्प आपके XML आउटपुट को पढ़ने में आसान बनाता है। जब आप इसे चुनते हैं, तो टूल नेस्टेड एलिमेंट्स को ठीक से स्पेस देकर फॉर्मेट करता है, जिससे XML की संरचना स्पष्ट रूप से दिखाई देती है। अगर आप इसे नहीं चुनते हैं, तो पूरा XML कोड एक ही लाइन में आएगा, जो मशीन के लिए तो ठीक है पर इंसानों के लिए पढ़ना मुश्किल होता है। यदि आप अपने डेटा को डीबग करना चाहते हैं तो हमारे JSON फ़ॉर्मैटर की तरह यह भी उपयोगी है।

यह टूल आपके [[page:3810|XML से JSON कन्वर्टर]] से कैसे अलग है?

यह दोनों टूल विपरीत काम करते हैं। "JSON से XML कन्वर्टर" (यह टूल) JSON डेटा लेता है और उसे XML फॉर्मेट में बदलता है। दूसरी ओर, हमारा XML से JSON कन्वर्टर XML डेटा को इनपुट के रूप में लेता है और उसे JSON फॉर्मेट में आउटपुट करता है। आपको अपनी ज़रूरत के हिसाब से सही टूल चुनना होगा।