Oh MyUtils

JSON-XML कनवर्टर - JSON से XML और XML से JSON ऑनलाइन बदलें

JSON और XML फ़ॉर्मेट के बीच दोनों दिशाओं में कॉन्फ़िगर करने योग्य विशेषताओं, नेमस्पेस और फ़ॉर्मेटिंग के साथ कनवर्ट करें। 100% क्लाइंट-साइड, आपका डेटा कभी ब्राउज़र नहीं छोड़ता।

दिशा
इंडेंट
XML घोषणा
रूट एलिमेंट
स्व-बंद खाली टैग
कुंजियाँ क्रमबद्ध करें
इनपुट (JSON)
आउटपुट (XML)
 

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

JSON-XML कनवर्टर क्या है?

JSON-XML कनवर्टर एक टूल है जो JSON (JavaScript Object Notation) और XML (eXtensible Markup Language) फ़ॉर्मेट के बीच डेटा को ट्रांसफ़ॉर्म करता है। JSON कर्ली ब्रेसेज़, ब्रैकेट और की-वैल्यू पेयर का उपयोग करता है, जबकि XML एट्रिब्यूट के साथ हायरार्किकल टैग का उपयोग करता है। यह कनवर्टर एट्रिब्यूट के लिए @_ प्रीफ़िक्स और टेक्स्ट नोड के लिए #text जैसी कन्वेंशन का उपयोग करके अधिक से अधिक जानकारी को संरक्षित करते हुए बाइडायरेक्शनल कनवर्ज़न सक्षम करता है।

इस JSON-XML कनवर्टर का उपयोग कैसे करें?

रेडियो बटन से कनवर्ज़न दिशा चुनें: JSON → XML या XML → JSON। इनपुट एरिया में अपना डेटा पेस्ट करें या Sample बटन क्लिक करें। टाइप करते ही रियल-टाइम में ऑटो-कनवर्ज़न होता है। ज़रूरत के अनुसार विकल्प कॉन्फ़िगर करें: एट्रिब्यूट प्रीफ़िक्स, XML डिक्लेरेशन, रूट एलिमेंट नाम, इंडेंटेशन। Copy बटन से रिज़ल्ट कॉपी करें या Download से फ़ाइल सेव करें। Swap बटन से दिशा बदलें।

क्या मेरा डेटा सुरक्षित है? क्या यह सर्वर पर भेजा जाता है?

आपका डेटा 100% सुरक्षित है और कभी आपके ब्राउज़र से बाहर नहीं जाता। यह कनवर्टर पूरी तरह से क्लाइंट-साइड JavaScript में चलने वाली fast-xml-parser लाइब्रेरी का उपयोग करता है। कोई डेटा किसी सर्वर पर ट्रांसमिट नहीं होता, किसी डेटाबेस में स्टोर नहीं होता, या कहीं भी लॉग नहीं होता। सभी पार्सिंग, वैलिडेशन और कनवर्ज़न आपके डिवाइस पर लोकली होता है।

कनवर्ज़न के दौरान XML एट्रिब्यूट कैसे हैंडल होते हैं?

XML एट्रिब्यूट को कॉन्फ़िगर करने योग्य प्रीफ़िक्स का उपयोग करके JSON प्रॉपर्टीज़ में मैप किया जाता है। डिफ़ॉल्ट प्रीफ़िक्स @_ है, इसलिए <book category="fiction"> जैसा XML एट्रिब्यूट JSON में {"@_category": "fiction"} बन जाता है। आप अपनी ज़रूरत के अनुसार प्रीफ़िक्स को @, - या $ में बदल सकते हैं।

कनवर्ज़न के दौरान XML नेमस्पेस का क्या होता है?

डिफ़ॉल्ट रूप से, नेमस्पेस प्रीफ़िक्स JSON आउटपुट में संरक्षित रहते हैं। 'नेमस्पेस हटाएँ' विकल्प सक्षम करने पर नेमस्पेस प्रीफ़िक्स हट जाते हैं। ध्यान दें कि नेमस्पेस हटाना एक हानिपूर्ण ऑपरेशन है — JSON को वापस XML में बदलने पर नेमस्पेस जानकारी खो जाएगी।

XML में कनवर्ट करते समय मेरे JSON को रूट एलिमेंट की ज़रूरत क्यों है?

XML में ठीक एक रूट एलिमेंट अनिवार्य है। यदि आपके JSON में एक ही टॉप-लेवल की है, तो वह की रूट एलिमेंट बन जाती है। लेकिन यदि JSON एक ऐरे है या कई टॉप-लेवल कीज़ हैं, तो कनवर्टर आउटपुट को रूट एलिमेंट में रैप कर देता है (डिफ़ॉल्ट नाम: root)। आप विकल्पों में रूट एलिमेंट का नाम कस्टमाइज़ कर सकते हैं।

JSON-XML कनवर्ज़न की सीमाएँ क्या हैं?

मूलभूत फ़ॉर्मेट अंतर के कारण JSON और XML के बीच कनवर्ज़न हमेशा पूरी तरह हानिरहित नहीं होता। प्रमुख सीमाएँ: (1) JSON में कमेंट सिंटैक्स न होने से XML कमेंट खो जाते हैं; (2) XML प्रोसेसिंग इंस्ट्रक्शन आमतौर पर हटा दिए जाते हैं; (3) XML मिक्स्ड कंटेंट को #text कन्वेंशन की आवश्यकता होती है; (4) JSON की ऑर्डरिंग संरक्षित नहीं हो सकती; (5) XML CDATA सेक्शन JSON में रेगुलर टेक्स्ट में बदल जाते हैं।

कोड उदाहरण

// JSON to XML conversion using fast-xml-parser
const { XMLParser, XMLBuilder, XMLValidator } = require('fast-xml-parser');

function jsonToXml(jsonString) {
  const parsed = JSON.parse(jsonString);
  const builder = new XMLBuilder({
    attributeNamePrefix: '@_',
    textNodeName: '#text',
    format: true,
    indentBy: '  ',
    ignoreAttributes: false,
  });
  return '<?xml version="1.0" encoding="UTF-8"?>\n' + builder.build(parsed);
}

function xmlToJson(xmlString) {
  const validation = XMLValidator.validate(xmlString);
  if (validation !== true) {
    throw new Error(`Line ${validation.err.line}: ${validation.err.msg}`);
  }
  const parser = new XMLParser({
    ignoreAttributes: false,
    attributeNamePrefix: '@_',
    textNodeName: '#text',
    parseAttributeValue: true,
  });
  return JSON.stringify(parser.parse(xmlString), null, 2);
}

// Example
const json = '{"book":{"@_id":"1","title":"Hello"}}';
console.log(jsonToXml(json));
// <?xml version="1.0" encoding="UTF-8"?>
// <book id="1"><title>Hello</title></book>

संबंधित उपकरण