मुफ्त कनवर्टर

XML to JSON Converter

Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.

Select XML file

or drag and drop here

या

इस टूल के बारे में

XML और JSON दोनों डेटा इंटरचेंज प्रारूप हैं लेकिन वेब के विभिन्न युगों से आए हैं। XML, 1998 में मानकीकृत, विशेषताओं, नामस्थानों और स्कीमा सत्यापन के साथ एक स्व-वर्णन मार्कअप प्रारूप के रूप में डिज़ाइन किया गया था। JSON 2000 के दशक की शुरुआत में एक हल्के वजन वाले प्रारूप के रूप में उभरा जो जावास्क्रिप्ट रनटाइम और आधुनिक एपीआई के लिए बेहतर अनुकूल था। अधिकांश नए वेब एपीआई JSON बोलते हैं; कई पुराने सिस्टम - SOAP सेवाएँ, RSS फ़ीड्स, कॉन्फ़िगरेशन फ़ाइलें, एंटरप्राइज़ एकीकरण - अभी भी XML का उत्पादन करते हैं। उनके बीच रूपांतरण आधुनिक विकास में सबसे आम इंटरऑप कार्यों में से एक है।

रूपांतरण पूरी तरह से दोषरहित नहीं है क्योंकि दोनों प्रारूपों में अलग-अलग अभिव्यंजक शक्ति है। XML में विशेषताएँ हैं (जो JSON मूल रूप से नहीं है), पाठ सामग्री और तत्व नामों के बीच अंतर करती है, और मिश्रित सामग्री (पाठ और बाल तत्व दोनों वाले तत्व) का समर्थन करती है। JSON का सीधा ऑब्जेक्ट/सरणी मॉडल सीधे तौर पर इन सुविधाओं का प्रतिनिधित्व नहीं कर सकता है, इसलिए कन्वर्टर्स कन्वेंशन लागू करते हैं: विशेषताएँ @-उपसर्ग कुंजी बन जाती हैं, पाठ सामग्री #text कुंजी बन जाती है, और इसी तरह।

यह कनवर्टर ब्राउज़र के अंतर्निहित DOMParser का उपयोग करके XML को पार्स करता है और JSON उत्पन्न करने के लिए परिणामी DOM ट्री पर चलता है। भाई-बहनों के समान टैग नाम वाले तत्वों को सरणियों में एकत्र किया जाता है; विशेषताएँ विशेष कुंजियों में जाती हैं; मौजूद होने पर नामस्थान और प्रसंस्करण निर्देश संरक्षित रहते हैं। परिणाम मानव-पठनीय JSON है जो उचित रूप से XML पर वापस आता है।

XML को JSON में क्यों बदलें?

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

टूलींग भी JSON पर निर्भर करती है। JSON ब्यूटिफायर, सत्यापनकर्ता, स्कीमा सत्यापनकर्ता, क्वेरी भाषाएं (jq, JSONPath), और दर्शक प्रचुर मात्रा में हैं; XML समतुल्य कम और अक्सर पुराने होते हैं। JSON में काम करने से उपकरणों का एक समृद्ध पारिस्थितिकी तंत्र खुल जाता है।

कैसे उपयोग करें

XML चिपकाएँ, JSON प्राप्त करें।

  1. अपना XML चिपकाएँ या अपलोड करें: XML टेक्स्ट को इनपुट क्षेत्र में चिपकाएँ या फ़ाइल छोड़ें। XML सुव्यवस्थित होना चाहिए; विकृत XML अनुमान के बजाय पार्स त्रुटि उत्पन्न करता है।
  2. कनवर्ट करें: DOMParser एक DOM बनाता है, कनवर्टर प्रत्येक तत्व पर चलता है, और जहां आवश्यक हो वहां विशेषता कुंजी (@attr) और टेक्स्ट सामग्री कुंजी (#text) का उपयोग करके JSON उत्पन्न होता है। समान नाम वाले सहोदर तत्व सारणी बन जाते हैं।
  3. संरचना की समीक्षा करें: यह पुष्टि करने के लिए JSON का निरीक्षण करें कि विशेषताएँ, पाठ और नेस्टिंग अपेक्षित रूप से मैप किए गए हैं। उपयोग की गई परंपराएँ (जैसे, विशेषताओं के लिए @) आउटपुट में दिखाई देती हैं।
  4. डाउनलोड करें या कॉपी करें: .json के रूप में सहेजें या क्लिपबोर्ड पर कॉपी करें।

सामान्य उपयोग के मामले

टेक्निकल डिटेल

DOMParser एक XML DOM तैयार करता है जो ब्राउज़र द्वारा XHTML पृष्ठों के लिए उपयोग किए जाने वाले समान है। कनवर्टर इस DOM को पुनरावर्ती रूप से चलाता है। प्रत्येक तत्व के लिए यह एक JSON ऑब्जेक्ट बनाता है: विशेषताएँ @ के साथ उपसर्ग वाली कुंजियाँ बन जाती हैं (उदाहरण के लिए, @id, @class); तत्व के बाल तत्वों को उसी संरचना में पुन: प्रस्तुत किया जाता है; पाठ्य सामग्री, जब बच्चों के साथ मौजूद होती है, तो #text कुंजी के अंतर्गत रहती है।

समान टैग नाम वाले दोहराए गए चाइल्ड तत्वों को JSON सरणी में एकत्र किया जाता है। किसी दिए गए नाम का एक एकल बच्चा एक वस्तु मान के रूप में प्रकट होता है; एकाधिक बच्चे वस्तुओं की एक श्रृंखला के रूप में दिखाई देते हैं। यह सम्मेलन व्यवहार में अच्छी तरह से काम करता है लेकिन इसका मतलब है कि JSON आकार इस पर निर्भर करता है कि तत्व एक बार या कई बार दिखाई देते हैं - XML-टू-JSON मैपिंग की एक ज्ञात अपूर्णता।

नामस्थान को तत्व नाम (उपसर्ग:स्थानीयनाम) के भाग के रूप में संरक्षित किया जाता है। प्रसंस्करण निर्देश और सीडीएटीए अनुभाग पाठ्य सामग्री में परिवर्तित हो जाते हैं। XML घोषणाएँ और DOCTYPEs JSON आउटपुट से हटा दिए जाते हैं लेकिन डेटा को प्रभावित नहीं करते हैं।

सर्वोत्तम प्रथाएँ

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

क्या XML को JSON में बदलने से सामग्री बदल जाती है?
सामग्री को यथासंभव सटीकता से संरक्षित किया गया है। हालाँकि, कुछ प्रारूप-विशिष्ट सुविधाओं में प्रत्यक्ष समकक्ष नहीं हो सकते हैं, इसलिए मामूली स्वरूपण अंतर हो सकते हैं।
डेटा को JSON प्रारूप में क्यों बदलें?
JSON वेब एपीआई और जावास्क्रिप्ट अनुप्रयोगों के लिए मानक डेटा प्रारूप है। यह मानव-पठनीय है, प्रोग्रामिंग भाषाओं द्वारा व्यापक रूप से समर्थित है, और इसमें XML की तुलना में सरल वाक्यविन्यास है।
क्या कनवर्टर नेस्टेड या जटिल XML संरचनाओं को संभालता है?
हाँ। टूल JSON आउटपुट में पूर्ण डेटा संरचना को संरक्षित करते हुए, नेस्टेड ऑब्जेक्ट्स, सरणियों और सभी मानक XML डेटा प्रकारों को सही ढंग से पार्स करता है।
क्या यह रूपांतरण सुरक्षित और निजी है?
हाँ। सारी प्रोसेसिंग आपके ब्राउज़र में स्थानीय रूप से होती है। आपका डेटा कभी भी आपके डिवाइस को नहीं छोड़ता - कोई सर्वर अपलोड नहीं, कोई क्लाउड प्रोसेसिंग नहीं, कोई डेटा संग्रह नहीं।
क्या CDATA अनुभाग प्रबंधित किए गए हैं?
हाँ। CDATA सामग्री को JSON आउटपुट में सादे पाठ में परिवर्तित किया जाता है। सीडीएटीए रैपिंग स्वयं संरक्षित नहीं है, लेकिन सामग्री संरक्षित है।
क्या मेरा डेटा किसी सर्वर पर अपलोड किया गया है?
नहीं, DOMParser आपके ब्राउज़र में चलता है; रूपांतरण पूरी तरह से आपके डिवाइस पर होता है।
क्या JSON राउंड-ट्रिप वापस XML पर आएगा?
हाँ, यदि आप व्युत्क्रम परिपाटी का उपयोग करते हैं (JSON से XML उपकरण समान @attr और #text नियमों का पालन करता है)। राउंड ट्रिप विशिष्ट XML के लिए संरचना को सुरक्षित रखता है; कुछ किनारे वाले मामले (मिश्रित-सामग्री क्रम, प्रसंस्करण निर्देश) पूरी तरह से जीवित नहीं रह सकते हैं।
अधिकतम इनपुट आकार क्या है?
50 एमबी तक. DOMParser आपके ब्राउज़र द्वारा मेमोरी-बाउंड है; बहुत बड़ी XML फ़ाइलें धीमी हो सकती हैं या पार्स करने में विफल हो सकती हैं।