डेटा फ़ॉर्मैट
XML ऐरे समझें: दोहराए एलिमेंट, सूचियाँ और JSON मैपिंग
XML में अंतर्निहित ऐरे लिटरल नहीं है। सूची-जैसा डेटा आमतौर पर दोहराए एलिमेंट से, अक्सर कंटेनर एलिमेंट के भीतर, दर्शाया जाता है और कन्वर्टर को तय करना होता है कि समान-स्तरीय एलिमेंट कब JSON ऐरे बनें।
प्रकाशित
दोहराए एलिमेंट सूची आइटम दर्शाते हैं
दो समान-स्तरीय order स्वाभाविक सूची बनाते हैं। उनका क्रम XML दस्तावेज़ में दिखता है और क्रमबद्ध JSON ऐरे में सहज रूप से मैप होता है।
<orders>
<order id="1"><total>12.50</total></order>
<order id="2"><total>8.00</total></order>
</orders>दोहराए समान-स्तरीय एलिमेंट को JSON ऐरे में मैप करें
ऐरे हर दोहराए order को अलग मान रखता है। एट्रिब्यूट और स्केलर-प्रकार नीतियाँ स्वतंत्र मैपिंग निर्णय हैं।
{
"orders": {
"order": [
{ "@attributes": { "id": "1" }, "total": "12.50" },
{ "@attributes": { "id": "2" }, "total": "8.00" }
]
}
}एक आइटम की अस्पष्टता
केवल दोहराव से ऐरे अनुमानित करने वाला कन्वर्टर पहले दस्तावेज़ के लिए ऑब्जेक्ट और दूसरे के लिए ऐरे बना सकता है। उपभोक्ता को स्थिर स्कीमा चाहिए तो order जैसे ज्ञात आइटम नामों को अनिवार्य ऐरे बनाएँ।
One document: <orders><order id="1"/></orders>
Another: <orders><order id="1"/><order id="2"/></orders>कंटेनर एलिमेंट और सीधा दोहराव
| पैटर्न | उदाहरण | समझौता |
|---|---|---|
| कंटेनर + आइटम | <tags><tag>a</tag></tags> | स्पष्ट सूची सीमा और सूची मेटाडेटा के लिए जगह |
| सीधा दोहराव | <tag>a</tag><tag>b</tag> | पहले से परिभाषित पैरेंट में संक्षिप्त |
| विभाजक वाला टेक्स्ट | <tags>a,b</tags> | संरचनात्मक नहीं; एस्केपिंग और खाली मान ऐप-विशिष्ट हो जाते हैं |
XML ऐरे मैपिंग की आम समस्याएँ
- आइटम संख्या बदलने पर JSON प्रकार ऑब्जेक्ट और ऐरे के बीच बदलना।
- अलग-अलग दोहराए एलिमेंट से जुड़े एट्रिब्यूट खो देना।
- स्पष्ट शब्दावली नियम के बिना कॉमा-विभाजित टेक्स्ट बाँटना।
- उपभोक्ता की अपेक्षा की पुष्टि से पहले नेस्टेड सूचियाँ सपाट करना।
उदाहरण आज़माएँ
दोहराए order एलिमेंट को ऐरे में मैप करें
एक ही नाम के दो समान-स्तरीय एलिमेंट स्वाभाविक JSON ऐरे बनाते हैं।
<orders><order id="1"><total>12.50</total></order><order id="2"><total>8.00</total></order></orders>अपेक्षित परिणाम: order कुंजी में दस्तावेज़ क्रम से दो ऑब्जेक्ट वाला ऐरे है।
ऐरे नीति जाँचें
दोहराए XML एलिमेंट को JSON में बदलें
सूची लोड करें, स्वचालित और अनिवार्य ऐरे व्यवहार की तुलना करें और सटीक आउटपुट संरचना देखें।