XML ↔ JSON conversion क्या है?
XML (Extensible Markup Language) hierarchical data के लिए एक tag-based text format है। आप इसे SOAP web services, RSS और Atom feeds, HL7 FHIR health records, sitemap.xml files, और Maven, Spring और Android Gradle के साथ ship होने वाली configuration files में देखेंगे। JSON (JavaScript Object Notation, RFC 8259 द्वारा defined) same kind का nested data describe करता है, लेकिन opening और closing tags की जगह braces और arrays के साथ। JSON वही है जो आज लगभग हर REST API बोलती है, और हर browser runtime में native value shape है। दो formats के बीच convert करना उन jobs में से एक है जो trivial लगती है जब तक attributes, mixed content, repeated children और CDATA नहीं आते। Custom regex गलत answer है; real parser सही है। यह टूल real parser (fast-xml-parser) ship करता है और इसे आपके ब्राउज़र में चलाता है, ताकि आप legacy SOAP service का return किया XML envelope paste करें और watch करें कि वह JSON object बन जाता है जिसे आप सीधे Redux store में डाल सकते हैं, या REST client में assembled JSON payload लें और उसे वापस XML shape में बदलें।
XML ↔ JSON mapping कैसे काम करती है?
हर conversion bundled fast-xml-parser library (MIT, version 4.x) use करके locally आपके ब्राउज़र में चलता है। High-level mapping rules:
- Element से key: हर XML element name JSON object key बन जाता है।
<user><name>Alice</name></user>{"user":{"name":"Alice"}}में map होता है। - Attribute से prefixed key: एक attribute chosen prefix prepend करके formed key के नीचे store होता है। Prefix
@के साथ,<user id="1">{"user":{"@id":"1"}}produce करता है। - Text content से text-node key: जब element के पास दोनों attributes और text हों, text chosen text-node key के नीचे आता है।
<price currency="USD">9.99</price>key#textके साथ{"price":{"@currency":"USD","#text":"9.99"}}produce करता है। - Repeated children से array: जब Force array for repeated child tags चालू हो, same name वाले multiple sibling elements JSON array में collapse हो जाते हैं।
<items><item>A</item><item>B</item></items>{"items":{"item":["A","B"]}}बन जाता है। - CDATA sections:
<![CDATA[…]]>के अंदर raw text#cdatakey के नीचे preserve होता है ताकि round-trip के दौरान angle brackets और ampersands re-escape न हों। - JSON से XML mapping reverse करता है: object keys elements बन जाते हैं, prefixed keys attributes बनते हैं, और arrays repeated sibling elements में expand होते हैं।
इस टूल से XML और JSON क्यों convert करें?
- आपका data आपकी machine पर रहता है। हर parse और हर build इस page के JavaScript context में चलता है। FHIR patient bundles, SOAP authentication envelopes, proprietary config files, billing exports — इनमें से कुछ भी हमारे servers को touch नहीं करता, क्योंकि code path में कोई upload step नहीं है। Network panel खोलें और देखें।
- Legacy SOAP को REST-first front end में लाना सबसे common request है। कोई bank या insurer एक SOAP endpoint expose करता है जो सालों तक retire नहीं होगा; उसे call करने वाला React या Vue app XML नहीं सीखना चाहता। Envelope paste करें, attributes prefixed और namespaces preserved के साथ JSON back पाएँ,
Bodycontents को अपने state store में drop करें। - RSS, Atom और sitemap consumers को भी फायदा होता है। Podcast directory, news aggregator, या internal dashboard जो
sitemap.xmlingest करता है, XML parser लिखने से पूरी तरह skip कर सकता है। Feed एक बार convert करें, JSON array के साथ काम करें, और आपका client code उस language में रहे जो वह पहले से बोलती है। - Configuration export list round out करता है। Maven, Spring, Android Gradle और old-school Ant builds XML emit करते हैं; दूसरी तरफ cloud-native tooling (Terraform, Ansible, GitHub Actions, cloud-init) JSON या YAML पढ़ती है। Browser में convert करें third-party dependency वाला Python script चलाने की बजाय, especially air-gapped environments में जहाँ unknown web service में paste करना non-starter है।
XML ↔ JSON conversion के सामान्य अनुप्रयोग क्या हैं?
XML और JSON के बीच bridge करना integration engineering, API tooling और data engineering में आता है। कुछ patterns workload में dominate करते हैं:
- SOAP से REST bridging: legacy banking या insurance API से returned SOAP envelope से
Bodypayload निकालना और उसे JSON में convert करना ताकि React या Vue front-end उसे server-side proxy layer के बिना consume कर सके। - FHIR health records: HL7 FHIR XML bundles (HHS/ONC और NHS Digital द्वारा clinical data exchange के लिए required format) को JSON में convert करना ताकि MongoDB Atlas collection या PostgreSQL JSONB column में load किया जा सके जहाँ analysts उन्हें query कर सकें।
- Sitemap और feed processing:
sitemap.xmlया RSS/Atom feed को JSON array में बदलना ताकि custom indexer, Slack bot, या dashboard widget XML parser dependency लाए बिना entries iterate कर सके।
XML ↔ JSON round-trip कैसा दिखता है?
एक छोटा example लें। <user id="1"><name>Alice</name></user> को input में paste करें, attribute prefix @ set करें, mode XML to JSON पर रखें, और Convert दबाएँ। Output है {"user":{"@id":"1","name":"Alice"}}। Mode को JSON to XML पर flip करें, वह JSON वापस paste करें, indent 2 spaces set करें, और फिर Convert दबाएँ। आपको मिलेगा <user id="1">\n <name>Alice</name>\n</user>, original से structurally identical। Round-trip में केवल attribute order guarantee नहीं है, क्योंकि JSON object keys spec के अनुसार unordered हैं।
यह XML ↔ JSON कनवर्टर fast-xml-parser@4 same origin पर bundled ship करता है, attributes, CDATA, repeated child tags और namespace prefixes handle करता है, और page load के बाद offline काम करता रहता है। कोई upload step नहीं, कोई CDN proxy नहीं, कोई analytics beacon नहीं, कोई telemetry नहीं। Input और output का हर byte आपके ब्राउज़र में रहता है, जो बिल्कुल वही है जो आप चाहते हैं जब payload FHIR patient bundle, SOAP authentication envelope, या किसी अन्य shape का data हो जिसे आपकी team के बाहर कोई नहीं देखना चाहिए।