2012-06-29 25 views

उत्तर

15

एएसएन .1 और जेएसओएन सख्ती से तुलनीय नहीं हैं। JSON एक डेटा प्रारूप है। एएसएन.1 एक स्कीमा भाषा है और एन्कोडिंग नियमों के कई सेट हैं, जिनमें से प्रत्येक एक दिए गए स्कीमा के लिए अलग-अलग डेटा स्वरूप उत्पन्न करता है। तो, मूल प्रश्न कुछ हद तक सवाल को समानता देता है "एक्सएमएल स्कीमा बनाम एक्सएमएल: जब उनका उपयोग करना उचित होता है?" एएसएन .1 और जेएसओएन स्कीमा के बीच एक बेहतर तुलना होगी।

जिसके अनुसार, कुछ बिंदुओं पर विचार करने के लिए:

  • ASN.1 द्विआधारी कूटबन्धन नियम हैं। इस बात पर विचार करें कि आपके आवेदन के लिए बाइनरी या टेक्स्ट एन्कोडिंग बेहतर है या नहीं।
  • एएसएन.1 में एक्सएमएल एन्कोडिंग नियम भी हैं। यदि आप चाहें तो ASN.1 का उपयोग कर टेक्स्ट-आधारित एन्कोडिंग के साथ जाने का विकल्प चुन सकते हैं।
  • एएसएन.1 अन्य एन्कोडिंग नियमों को विकसित करने की अनुमति देता है। असल में, हमने एएसएन .1 को JSON में एन्कोड करने के लिए अपने स्वयं के (गैर-मानकीकृत) नियम निर्दिष्ट किए हैं। मैंने इस बारे में हमारी कंपनी की वेबसाइट पर here
  • एक्सएमएल स्कीमा के साथ, उपकरण ASN.1 संकलित करने के लिए मौजूद हैं। इन्हें आमतौर पर डेटा बाध्यकारी उपकरण के रूप में जाना जाता है। कंपाइलर आउटपुट में आपके डेटा को पकड़ने के लिए डेटा संरचनाएं होती हैं, और एन्कोडिंग/डिकोडिंग के लिए कोड विभिन्न एन्कोडिंग (बाइनरी, एक्सएमएल, या, हमारे उपकरण का उपयोग करते हुए, जेएसओएन) से होते हैं।
  • मुझे यकीन नहीं है कि जेएसओएन स्कीमा के लिए डेटा बाध्यकारी उपकरण मौजूद हैं या नहीं। मुझे यह भी यकीन नहीं है कि जेएसओएन स्कीमा कितनी परिपक्व/स्थिर है, जबकि एएसएन .1 काफी परिपक्व और स्थिर है।
  • जेएसओएन स्कीमा और एएसएन .1 के बीच चयन, ध्यान दें कि जेएसओएन स्कीमा जेएसओएन से जुड़ी है, जबकि एएसएन.1 किसी विशेष प्रतिनिधित्व के लिए बाध्य नहीं है।
2

आप एएसएन 1 का उपयोग कर सकते हैं चाहे आप सी, सी ++, सी #, जावा, या एएसएन .1 एन्कोडर/डिकोडर इंजन के साथ किसी अन्य प्रोग्रामिंग भाषा का उपयोग कर प्राप्तकर्ता को जा सकें। एएसएन.1 कई एन्कोडिंग नियम भी प्रदान करता है जिनके पास विभिन्न परिस्थितियों में लाभ होता है। उदाहरण के लिए, डीईआर का उपयोग तब किया जाता है जब एक कैनोलिक एन्कोडिंग महत्वपूर्ण होता है, जैसे कि डिजिटल सर्टिफिकेट्स में, जबकि जब बैंडविड्थ सेलुलर प्रोटोकॉल में महत्वपूर्ण होता है, तो ई-एक्सईआर का उपयोग किया जाता है, और ई-एक्सईआर का उपयोग तब किया जाता है जब आपको बैंडविड्थ की परवाह नहीं है और पसंद है किसी ब्राउज़र में मैनिपुलेशन के लिए एक्सएमएल में एन्कोडिंग प्रदर्शित करने या एक्सएमएल स्कीमा इंजन के साथ संदेशों का आदान-प्रदान करने के लिए।

ध्यान दें कि एक अच्छा ASN.1 टूल के साथ, आपको इन ASN.1 एन्कोडिंग नियमों के बीच स्विच करने के लिए आपको एप्लिकेशन कोड बदलने की आवश्यकता नहीं है। एक साधारण फ़ंक्शन कॉल आपके द्वारा उपयोग किए जाने वाले एन्कोडिंग नियमों का चयन कर सकता है।

+2

जेएसओएन के साथ जावा को क्या करना है? –

+0

मेरी समझ यह है कि JSON द्वारा, आपका मतलब जावास्क्रिप्ट ऑब्जेक्ट नोटेशन था। क्या आप मुझे बता रहे हैं कि इसका जावा के साथ कुछ लेना देना नहीं है, भले ही जावा इसका नाम है? –

+11

यह सही है जावा का JSON के साथ कुछ लेना देना नहीं है। – megazord