यदि आप जावास्क्रिप्ट में काम कर रहे हैं, तो यह हमारे लिए JSON बहुत आसान है। ऐसा इसलिए है क्योंकि जेएसओएन का सीधे जावास्क्रिप्ट ऑब्जेक्ट में मूल्यांकन किया जा सकता है, जो डीओएम की तुलना में काम करना बहुत आसान है।
var tag2=xmlObj.getElementsByTagName("person")[0].getElementsByTagName("tag")[1];
:
उधार और थोड़ा एक्सएमएल और से
XML:
<person>
<name>John Doe</name>
<tag>friend</tag>
<tag>male</tag>
</person>
JSON:
{ person: {"name": "John Doe", "tag": ["friend", "male"]} }
ऊपर आप XML के साथ दूसरे टैग वस्तु प्राप्त करना चाहता था, तो JSON में फेरबदल, आप शक्तिशाली लेकिन वर्बोज़ डोम एपीआई का उपयोग करने की आवश्यकता होगी
एक जावास्क्रिप्ट वस्तु है कि JSON के माध्यम से में आया के साथ जबकि, आप बस इस्तेमाल कर सकते हैं:
var tag2=jsonObj.person.tag[1];
बेशक, jQuery के डोम उदाहरण बहुत सरल बनाता है:
var tag2=$("person tag",xmlObj).get(1);
हालांकि, JSON बस "फिट" एक जावास्क्रिप्ट दुनिया में। यदि आप थोड़ी देर के लिए इसके साथ काम करते हैं, तो आप पाएंगे कि आपके पास XML आधारित डेटा को शामिल करने से बहुत कम मानसिक उपर है।
सभी उपरोक्त उदाहरण इस संभावना को अनदेखा करते हैं कि एक या अधिक नोड उपलब्ध हैं, डुप्लीकेट हैं, या संभावना है कि नोड में केवल एक या कोई बच्चा नहीं है।
var tag2=(jsonObj.person && jsonObj.person.tags && jsonObj.person.tags.sort && jsonObj.person.tags.length==2 ? jsonObj.person.tags[1] : null);
(कुछ लोग उस त्रिगुट की लंबी पसंद नहीं सकता है, लेकिन यह काम करता है): हालांकि, JSON के मूल सत्ता, jsonObj के साथ ऐसा करने वर्णन करने के लिए, आप बस करना होगा। लेकिन एक्सएमएल (मेरी राय में) नास्टियर (मुझे नहीं लगता कि आप टर्नरी दृष्टिकोण जाना चाहते हैं क्योंकि आप डोम विधियों को कॉल करना जारी रखेंगे जिन्हें कार्यान्वयन के आधार पर फिर से काम करना पड़ सकता है):
var tag2=null;
var persons=xmlObj.getElementsByTagName("person");
if(persons.length==1) {
var tags=persons[0].getElementsByTagName("tag");
if(tags.length==2) { tag2=tags[1]; }
}
Jquery (untested):
var tag2=$("person:only-child tag:nth-child(1)",xmlObj).get(0);
मैंने सुना है वे OEML करने के लिए XML का नाम बदलने के –
(इंजीनियर मार्कअप लैंग्वेज से अधिक) कैसे JSON अलग वर्ण एन्कोडिंग का क्या करता है (XML करता है) जा रहे थे। क्या JSON प्रतिनिधित्व में कोई अंतर्निहित वर्ण एन्कोडिंग है? –
किसी अन्य डोमेन से प्राप्त होने वाले डेटा को वास्तव में एक्सएमएल या जेएसओएन * प्रारूप * के लिए एक सुविधा नहीं है। यह एक ब्राउज़र से संबंधित चीज है। –