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 सोबत येणाऱ्या configuration files मध्ये दिसते. JSON (JavaScript Object Notation, RFC 8259 ने defined) तोच प्रकारचा nested data describe करतो, पण opening आणि closing tags ऐवजी braces आणि arrays वापरून. JSON हे आज जवळजवळ प्रत्येक REST API बोलते, आणि प्रत्येक browser runtime चे native value shape आहे. दोन formats दरम्यान convert करणे हे trivial वाटते जोपर्यंत attributes, mixed content, repeated children, आणि CDATA येत नाहीत. Custom regex चुकीचा answer आहे; real parser योग्य. हे tool real parser (fast-xml-parser) ship करते आणि browser मध्ये run करते, त्यामुळे legacy SOAP service ने return केलेला XML envelope paste करा आणि तो JSON object मध्ये बदललेला पाहा.
XML ↔ JSON mapping कसे कार्य करते?
प्रत्येक conversion bundled fast-xml-parser library (MIT, version 4.x) वापरून browser मध्ये locally run होतो. 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 निवडलेला prefix prepend करून बनलेल्या key अंतर्गत stored होतो. Prefix
@सोबत,<user id="1">{"user":{"@id":"1"}}produce करतो. - Text content ते text-node key: element ला attributes आणि text दोन्ही असल्यास, text निवडलेल्या text-node key अंतर्गत येतो. Key
#textसोबत<price currency="USD">9.99</price>{"price":{"@currency":"USD","#text":"9.99"}}produce करतो. - Repeated children ते array: Force array for repeated child tags चालू असल्यास, एकाच नावाचे multiple sibling elements JSON array मध्ये collapse होतात.
<items><item>A</item><item>B</item></items>{"items":{"item":["A","B"]}}बनतो. - CDATA sections:
<![CDATA[…]]>मधील raw text#cdatakey अंतर्गत preserved होतो जेणेकरून angle brackets आणि ampersands round-trip दरम्यान re-escaped होत नाहीत. - JSON ते XML mapping उलट करतो: object keys elements बनतात, prefixed keys attributes बनतात, आणि arrays repeated sibling elements मध्ये expand होतात.
या tool ने XML आणि JSON का convert करायचे?
- तुमचा data तुमच्या machine वर राहतो. प्रत्येक parse आणि प्रत्येक build या page च्या JavaScript context मध्ये run होतो. FHIR patient bundles, SOAP authentication envelopes, proprietary config files, billing exports — यातील काहीही आमच्या servers ला स्पर्श करत नाही, कारण code path मध्ये upload step नाही.
- Legacy SOAP REST-first front end मध्ये घेणे हे सर्वात सामान्य requirement आहे. Bank किंवा insurer SOAP endpoint expose करतो जो years पर्यंत retire होणार नाही; तो call करणारे React किंवा Vue app XML शिकायला तयार नाही. Envelope paste करा, attributes prefixed आणि namespaces preserved सोबत JSON परत मिळवा.
- RSS, Atom, आणि sitemap consumers पण benefit घेतात. Podcast directory, news aggregator, किंवा internal dashboard जे
sitemap.xmlingest करते ते XML parser लिहिणे पूर्णपणे skip करू शकते. Feed एकदा convert करा, JSON array सोबत काम करा. - Configuration export list पूर्ण करतो. Maven, Spring, Android Gradle, आणि जुन्या Ant builds सर्व XML emit करतात; दुसऱ्या बाजूचे cloud-native tooling (Terraform, Ansible, GitHub Actions, cloud-init) JSON किंवा YAML वाचते. Python script आणि third-party dependency ऐवजी browser मध्ये convert करा.
XML ↔ JSON conversion चे सामान्य उपयोग काय आहेत?
XML आणि JSON bridging integration engineering, API tooling, आणि data engineering मध्ये येते. काही patterns workload dominate करतात:
- SOAP ते REST bridging: legacy banking किंवा insurance API ने return केलेल्या SOAP envelope मधून
Bodypayload काढणे आणि ते JSON मध्ये convert करणे जेणेकरून React किंवा Vue front-end ते server-side proxy layer शिवाय consume करू शकेल. - FHIR health records: MongoDB Atlas collection किंवा PostgreSQL JSONB column मध्ये loading साठी HL7 FHIR XML bundles (HHS/ONC आणि NHS Digital ने clinical data exchange साठी required format) JSON मध्ये convert करणे.
- Sitemap आणि feed processing:
sitemap.xmlकिंवा RSS/Atom feed JSON array मध्ये convert करणे जेणेकरून custom indexer, Slack bot, किंवा dashboard widget XML parser dependency शिवाय entries iterate करू शकेल.
XML ↔ JSON round-trip कसे दिसते?
एक छोटे उदाहरण घ्या. <user id="1"><name>Alice</name></user> input मध्ये paste करा, attribute prefix @ सेट करा, mode XML to JSON वर ठेवा, आणि Convert दाबा. Output आहे {"user":{"@id":"1","name":"Alice"}}. Mode JSON to XML वर flip करा, तो JSON परत paste करा, indent 2 spaces सेट करा, आणि पुन्हा Convert दाबा. तुम्हाला <user id="1">\n <name>Alice</name>\n</user> मिळेल, original शी structurally identical. Round-trip मध्ये guarantee नसलेली एकमेव गोष्ट म्हणजे attribute order, कारण JSON object keys spec नुसार unordered आहेत.
हा XML ↔ JSON converter 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 तुमच्या browser मध्ये राहतो.