यदि विकल्प 2 आपके लिए अपेक्षाकृत आसान है (उदाहरण के लिए, आपके बैक-एंड नियंत्रकों में एक-पंक्ति JSON रूपांतरण जोड़ना), तो शायद यह एक अच्छा निवेश है, क्योंकि JSON तार पर दुबला है, बहुत कम काम ग्राहक पक्ष पर और आम तौर पर रीस्टफुल एपीआई उपभोक्ताओं द्वारा पसंद किया जाता है (यदि अन्य उपभोक्ता भी हैं)।
हाल ही में इस तरह के काम करने के बाद, मैं कहूंगा कि अगला सबसे अच्छा पथ (यदि विकल्प 2 मुश्किल है) प्रतिक्रिया का उपयोग करना होगा और transformers को अपने एक्सएमएल और जावास्क्रिप्ट ऑब्जेक्ट्स के बीच रूपांतरण करने के लिए अनुरोध करें, जो कहीं भिन्नता है आपके विकल्प 3 और 4 के बीच। DOMParser ऑब्जेक्ट मूल कोड है, इसलिए यह एक्सएमएल को बहुत तेज बनाता है। एक्सएमएल डीओएम को जावास्क्रिप्ट ऑब्जेक्ट्स में ट्रांसफॉर्म करना और जावास्क्रिप्ट ऑब्जेक्ट्स से एक्सएमएल उत्पन्न करना काफी सीधा रिकर्सिव एल्गोरिदम दोनों हैं। यह दृष्टिकोण आपके शेष क्लाइंट-साइड कोड को बैक-एंड प्रतिनिधित्व से हटा देता है, जो आपके विकल्प के साथ नहीं होने पर मामला नहीं होगा। इस तरह के decoupling आपको JSON- आधारित रीस्टफुल इंटरफेस का प्रत्यक्ष उपयोग करने की अनुमति देगा , ऐसा अवसर पैदा होना चाहिए।
जेएसओएन/जावास्क्रिप्ट ऑब्जेक्ट्स सहित किसी भी विकल्प का चयन करने में अक्सर एक्सएमएल एट्रिब्यूट्स, एक्सएमएल संग्रह बनाम जेएस एरे और एक्सएमएल मिश्रित सामग्री प्रतिनिधित्व जैसे प्रतिबाधा विसंगति के मुद्दों से निपटना शामिल होगा। यदि आपके डेटा मॉडल काफी सरल हैं, या आप एक्सएमएल और जेएसओएन (उदाहरण के लिए, अनावश्यक ऑब्जेक्ट कंटेंटेशन, तत्वों के साथ मिश्रित विवादित पाठ का प्रतिनिधित्व करने के लिए क्रमांकित टेक्स्ट गुणों के बीच आउट-ऑफ-द-बॉक्स ट्रांसफॉर्मर द्वारा प्रदान किए गए समाधानों के साथ रहने में कोई फर्क नहीं पड़ता) , तो यह आपके लिए कोई मुद्दा नहीं हो सकता है। अन्यथा, अनुरोध के किसी भी अंत में परिवर्तन व्यवहार को अनुकूलित करने के अवसर हैं (हालांकि दुख की बात नहीं है, जहां तक मैंने देखा है)।
विस्तृत प्रतिक्रिया के लिए धन्यवाद। मुझे पूरा यकीन है कि हमारे बैकएंड में एक्सएमएल-जेसन और जेसन-एक्सएमएल रूपांतरण शामिल हैं, इसलिए मैं उन लोगों के साथ खेलकर शुरू कर दूंगा और देख रहा हूं कि वे कितनी अच्छी तरह काम करते हैं! –
मदद करने के लिए खुश, @ निक वाइकर्स। सौभाग्य! – Jollymorphic