2009-06-17 11 views
7

क्यों JSON? मैंने आज कुछ परीक्षण किए हैं, और जेएसओएन, या एक सामान्य AJAX अनुरोध दोनों के लिए अनुरोध समय वही था। "सामान्य अनुरोध" में मैंने जेएसओएन अनुरोध में पूरा पाठ + एचटीएमएल टैग वापस कर दिया है, तार्किक रूप से मैंने एक "जेसन रिटर्न टाइप" वापस कर दिया है और मैंने क्लाइंट-साइड जावास्क्रिप्ट के साथ HTML बनाया है।क्या मुझे प्रतिक्रिया डेटा के लिए JSON या AJAX का उपयोग करना चाहिए?

मैं इसे नहीं मिलता है, यही कारण है कि बड़ी साइटों (गूगल रीडर आदि), या यहाँ तक कि छोटे साइटों JSON का उपयोग कर रहे हैं? या मुझे समझ में नहीं आता कि मुझे JSON का उपयोग कब करना चाहिए?

+0

देखें [जावास्क्रिप्ट घटनाओं के लिए अजाक्स बनाम जेसन का उपयोग कब करें?] (Http://stackoverflow.com/questions/939211/when-to-use-ajax-vs-json-for-javascript-events) लगभग समान है। – Kirtan

उत्तर

41

आप शायद थोड़ा उलझन में हैं।

JSON और AJAX एक या पसंद नहीं हैं।

JSON और XML एक विकल्प है।

JSON और AJAX अलग और काफी हद तक संबंधित नहीं हैं, हालांकि AJAX अक्सर JSON का उपयोग करता है, यह सिर्फ आसानी से एक्सएमएल, HTML या सादा पाठ का उपयोग कर सकते हैं।

या क्या आप एक्सएक्स (एक्सएमएल) में एक्स का जिक्र कर रहे हैं? यदि ऐसा है, तो JSON के लिए तर्क मूल रूप से हैं:

  • JSON के बराबर एक्सएमएल की तुलना में एक छोटा पेलोड है; और
  • जेएसओएन जावास्क्रिप्ट में सौदा करना आसान है (एक्सएमएल खंड को चलाने के लिए JSON ऑब्जेक्ट को eval'ing करने की तुलना करें)।

उसके अलावा, यह काफी हद तक व्यक्तिगत पसंद है।

+1

उसमें जोड़ें, यदि आप फ़ायरबग का उपयोग कर रहे हैं तो जेसन आपको डीबग करने में भी मदद करता है, क्योंकि आप सीधे और आगे भेजे गए डेटा को सीधे पढ़ सकते हैं –

+0

http://izlooite.blogspot.com/2010/05/ajax-or-ajax-xml -vs-json.html –

13

जेएसओएन सिर्फ एक डेटा-इंटरचेंज प्रारूप है। यह ट्रांसमिशन के दौरान डेटा का प्रतिनिधित्व करने के तरीके में वर्णन करता है। आप जेएसओएन के साथ अजाक्स को प्रतिस्थापित नहीं कर सकते हैं।

अजाक्स अतुल्यकालिक जावास्क्रिप्ट और XML के लिए खड़ा है, लेकिन जब JSON का उपयोग कर आप कह सकते हैं कि आप ajaj (अतुल्यकालिक जावास्क्रिप्ट और JSON) का उपयोग कर रहे हैं।

शायद तुम jQuery तरीकों $.getJSON() और $.get() की सोच रहे हैं?

अंतर यह है कि $.getJSON() स्वचालित रूप से मानता है कि यह JSON डेटा है, जबकि $.get() डेटा को सादा पाठ के रूप में लाएगा।

जब $.getJSON() का उपयोग कर आप भी डोमेन के बीच डेटा लाने में सक्षम हैं।

+3

मुझे एजेक्स के बारे में सोचना पसंद है क्योंकि असीमित जावास्क्रिप्ट और एक्स के लिए खड़ा है, जहां एक्स कुछ एंडोडिंग प्रारूप है। –

+0

-1: JSON किसी भी तरीके से डेटा को स्थानांतरित करने के तरीके का वर्णन नहीं करता है। JSON उस तरीके का वर्णन करता है जिसमें डेटा को स्थानांतरित किया जा रहा है जब इसे स्थानांतरित किया जा रहा है। –

+0

(इसके अलावा, "AJAJ" के बारे में थोड़ा एक पूर्ण लाल हेरिंग है, क्योंकि किसी ने कभी भी वास्तविकता के इतिहास में इस शब्द का उपयोग नहीं किया है।) –

संबंधित मुद्दे

 संबंधित मुद्दे