XML पर JSON को कब प्राथमिकता दें?


148

मेरी आवश्यकता सिर्फ एक प्रसार पर डेटाबेस से प्राप्त मूल्यों के एक सेट को प्रदर्शित करने के लिए है। मैं jquery का उपयोग कर रहा हूं।

जवाबों:


149

JSON पर अनुकूल XML, जब इनमें से कोई भी सत्य है:

  • आपको संदेश सत्यापन की आवश्यकता है
  • आप XSLT का उपयोग कर रहे हैं
  • आपके संदेशों में बहुत सारे चिह्नित पाठ शामिल हैं
  • आपको उन वातावरण के साथ हस्तक्षेप करने की आवश्यकता है जो JSON का समर्थन नहीं करते हैं

जब इन सभी के सत्य होने पर XML पर JSON का समर्थन करें:

  • संदेशों को मान्य करने की आवश्यकता नहीं है, या उनके deserialization को मान्य करना सरल है
  • आप संदेशों को परिवर्तित नहीं कर रहे हैं, या उनके डीरिएरलाइज़ेशन को बदलना सरल है
  • आपके संदेश अधिकतर डेटा होते हैं, न कि चिह्नित पाठ
  • मैसेजिंग एंडपॉइंट्स में JSON टूल्स अच्छे हैं

9
JSON चिह्नित पाठ को संभालने में XML पर कोई लाभ नहीं देता है। लेकिन मैं आपकी बात देखता हूँ; यह शायद अतिरंजित है।
रॉबर्ट रॉसनी

10
जब सभी स्थितियां समान हों, तो दो कारणों से JSON का पक्ष लें: JSON XML (CPU अनुकूल) की तुलना में पार्स करने के लिए बहुत हल्का है और इसे स्थानांतरित करने के लिए बहुत कम डेटा की आवश्यकता होती है (नेटवर्क के अनुकूल)।
रोजर बैरेटो

आप XSLT का उपयोग कब करेंगे और XML का उपयोग नहीं कर रहे हैं? यदि आप पहले से ही XSLT का उपयोग कर रहे हैं तो XML एक दिया गया है। यह XML का उपयोग करने के तर्क का समर्थन नहीं करना चाहिए। यदि आप JSON.parse () का उपयोग कर रहे हैं तो यह JSON का उपयोग करने जैसा है। इसके अलावा, मैं तर्क दूंगा कि एक JSON ऑब्जेक्ट को XSLT ट्रांसफॉर्म लिखना जितना आसान है, उससे अधिक आसान है, लेकिन यह मेरा व्यक्तिगत पूर्वाग्रह हो सकता है।
स्पेंसर

मैं JSON में सत्यापन भाग से पूरी तरह सहमत नहीं हूं। JSON भी मान्य है। इस IETF ड्राफ्ट की जाँच करें: लिंक यह एक ड्राफ्ट है, लेकिन फिर भी ..
sotn

@sotn आप XML के लिए PL / SQL नहीं है जैसा कि XML (जैसे XQuery) है। यह कुछ NoSQL DB (eXist, MarkLogic Server, EMC Documentum xDB, BaseX, Zorba) के लिए आधार है
Dmytro Melnychuk

81

जब तक मुझे XML का उपयोग करने की आवश्यकता नहीं होती मैं JSON का उपयोग करता हूं। यह समझना आसान है, और (क्योंकि इसके लिए कम कॉन्फ़िगरेशन ओवरहेड की आवश्यकता होती है) यह पढ़ने और लिखने के लिए प्रोग्राम करना आसान है यदि लाइब्रेरी आपके संदर्भ में उपलब्ध हैं, और वे अब बहुत सर्वव्यापी हैं।

जब अमेज़ॅन ने पहली बार एक वेब सेवा के रूप में अपने कैटलॉग को उजागर किया, तो उन्होंने JSON और XML दोनों की पेशकश की। 90% कार्यान्वयनकर्ताओं ने JSON को चुना।


56
"मैं JSON का उपयोग करता हूं जब तक कि मुझे XML का उपयोग करने की आवश्यकता न हो।" ~ बिल्कुल
लुप्तप्राय मास्सा

2
तो गहरा सवाल यह है कि "XML का उपयोग करने के लिए आपको किन कारणों की आवश्यकता होगी?" क्या वे कारण मूढ़तापूर्ण हैं; या वे सिर्फ आपके लिए अलग दृष्टिकोण से, विभिन्न चिंताओं को दर्शाते हैं?
13ren

5
मौजूदा सॉफ्टवेयर सहित कई संभावित कारण, मैं फिर से लिखना नहीं चाहता। लेकिन सबसे महत्वपूर्ण एक्सएमएल का उपयोग डेटा इंटरचेंज प्रारूप के रूप में किया जाता है जहां मैं दोनों छोरों को नियंत्रित नहीं करता हूं, या एक औपचारिक मानक है जो एक्सएमएल लागू होता है और इसकी आवश्यकता होती है। मैं केवल मनमाने ढंग से चयन कर सकता हूं जब मैं एकमात्र डेवलपर शामिल हूं।
dkretz

15

अपने विशिष्ट मामले को ध्यान में रखते हुए जहां आप पहले से ही ग्राहक की ओर से जावास्क्रिप्ट कर रहे हैं, मैं इन कारणों के लिए JSON के साथ जाऊंगा:

  • चूँकि JSON जावास्क्रिप्ट का मूल निवासी है इसलिए आपको क्लाइंट की ओर कम कोड लिखना होगा - बस eval()(या, अभी तक बेहतर JSON.parse()), JSON स्ट्रिंग और एक ऑब्जेक्ट प्राप्त करें जिसका आप उपयोग कर सकते हैं।

  • उसी समय क्लाइंट-साइड पर JSON का मूल्यांकन करना अधिक कुशल होगा, और इसलिए तेजी से।

  • JSON सीरियलाइज़ेशन XML की तुलना में छोटे तार पैदा करता है। JSON का उपयोग करने से तार पर चलने वाले डेटा की मात्रा कम हो जाएगी और उस संबंध में प्रदर्शन में सुधार होगा।

यहाँ कुछ और पढ़ रहा है: http://www.subbu.org/blog/2006/08/json-vs-xml


7
नहीं है eval()JSON एक बड़ा ing नहीं-नहीं?
shoosh

@Shy, JSON की अपनी साइट का कहना है कि आप JSON (चारों ओर लिपटे कोष्ठक के साथ) पर eval का उपयोग कर सकते हैं: json.org/js.html
strager

9
Json.org से लिया गया: eval फ़ंक्शन बहुत तेज़ है। हालांकि, यह किसी भी जावास्क्रिप्ट प्रोग्राम को संकलित और निष्पादित कर सकता है, इसलिए सुरक्षा के मुद्दे हो सकते हैं। जब स्रोत विश्वसनीय और सक्षम है, तो eval का उपयोग इंगित किया गया है। JSON parser
sarego

2
JSON.parse () को eval () में तरजीह दें।
हव्वी

14

कुछ अन्य चीजें जो मैंने XML बनाम JSON relm में चलाई हैं:

JSON के लिए बहुत अच्छा है

  • नाम / मूल्य जोड़े
  • उन जोड़ों को घोंसला बनाना

जिसका अर्थ है कि यह एक सरणी या नेस्टेड सरणी को पसंद करता है। हालाँकि JSON दोनों गायब है

  • गुण
  • नेमस्पेसिंग

इसलिए यदि आप दो या अधिक JSON सेवाओं को संयोजित करने के लिए थे तो संभावित नामस्थान संघर्ष हो सकते हैं। कहा जा रहा है कि JSON का उपयोग लगभग 90% उन्हीं चीजों के लिए किया जा सकता है जब XML का उपयोग मेरे अनुभव में डेटा के आदान-प्रदान के लिए किया जा सकता है।


Json का एक और मुद्दा यह है कि आप नए json संदेश बनाने के लिए दो json संदेशों को आसानी से मर्ज नहीं कर सकते। यह आमतौर पर ठीक नहीं होगा ..
vtd-xml-author

7
आपको किन विशेषताओं की आवश्यकता होगी? यदि आपके तत्व में अन्य मूल्य हैं, तो इसे एक वस्तु बनाएं - सदस्य आपके "गुण" हैं। सच कहूँ तो, मुझे लगता है कि XML की bifurcal विशेषताएँ / कंटेनर संरचना पूरी तरह से हानिकारक है।
फू

मेरा तर्क है कि JSON के पास विशेषताएँ नहीं होना एक विशेषता है।
brian

11

आमतौर पर JSON अधिक कॉम्पैक्ट है, और पार्स करने के लिए तेज़ है।

XML को प्राथमिकता दें यदि:

  • आपको क्लाइंट पर डेटा संसाधित करने की आवश्यकता है, और आप उसके लिए XSL का लाभ उठा सकते हैं। संभावना है कि XML + XSL श्रृंखला JSON + जावास्क्रिप्ट की तुलना में तेजी से काम करेगी विशेष रूप से डेटा की बड़ी मात्रा के लिए।
    • एक अच्छा मामला डेटा को HTML स्निपेट में बदलना है।
  • विभिन्न विरासत मामले:
    • एक मौजूदा XML सेवा है, और कुछ कारणों से JSON के साथ इसे फिर से लिखना एक परेशानी है।
    • उपयोगकर्ता के इनपुट का उपयोग करते हुए कुछ प्रकाश प्रसंस्करण के बाद आपको इस डेटा को एक्सएमएल के रूप में वापस पोस्ट करना होगा।

XML का एक महत्वपूर्ण मामला (लगभग): पता लगाने की कोशिश करते हैं कि HTML स्निपेट भेजते समय कच्चे डेटा भेजने से ज्यादा फायदेमंद है। AHAH साधारण अनुप्रयोगों में चमत्कार कर सकता है, फिर भी अक्सर अनदेखी की जाती है। आमतौर पर यह शैली मानती है कि एक सर्वर HTML स्निपेट भेजता है जो प्रसंस्करण के बिना वेब पेज में इनलेट होगा।

आमतौर पर एएएचए मामलों में सीएसएस को उपयोगकर्ता के विशिष्ट या अनुप्रयोग-विशिष्ट सेटिंग्स का उपयोग करके स्निपेट के प्रासंगिक भागों को छुपाने / दिखाने जैसे सरल सशर्त लागू करने के लिए स्निपेट की मालिश करने और अधिकतम करने के लिए अधिकतम किया जा रहा है।


8

JSON पार्स करना आसान और तेज़ है। XML को पार्स करना थोड़ा मुश्किल है, और पार्स और ट्रांसफर (ज्यादातर मामलों में) के लिए धीमा है।

जब से आप jQuery का उपयोग कर रहे हैं, मैं JSON का उपयोग करने का सुझाव देता हूं: jQuery JSON डेटा को पुन: प्राप्त कर सकता है और इसे जावास्क्रिप्ट ऑब्जेक्ट में स्वचालित रूप से परिवर्तित कर सकता है। वास्तव में, आप JSON डेटा को eval का उपयोग करके जावास्क्रिप्ट ऑब्जेक्ट में बदल सकते हैं । XML को आपके द्वारा मैन्युअल रूप से ट्रांसवर्स किया जाना होगा (मुझे नहीं पता कि यह जावास्क्रिप्ट में कैसे काम करता है, लेकिन मैंने उन सभी भाषाओं में मुश्किल / अधिक कष्टप्रद है, जिनके साथ मैंने XML लाइब्रेरीज़ का उपयोग किया है)।


1
JSON एक जावास्क्रिप्ट ऑब्जेक्ट की परिभाषा है, jQuery वास्तव में कुछ विशेष "परिवर्तित" नहीं कर रहा है। बस सोचा यह स्पष्ट किया जाना चाहिए।
बजे ब्रायन गियानफोर्को

5
जब तक यह जावास्क्रिप्ट में त्वरित नहीं है तब तक JSON एक जावास्क्रिप्ट ऑब्जेक्ट नहीं है। यह जावास्क्रिप्ट ऑब्जेक्ट्स को क्रमांकित करने के लिए उपयोग किए जाने वाले प्रारूप का पालन करने के लिए होता है, लेकिन यह अधिकांश भाषाओं से सुलभ (उचित ऐड-ऑन और बिल्ट-इन के साथ) है, कम से कम XML के रूप में आसानी से।
dkretz

@ Gianforcaro, मुझे इसका एहसास है। मैं अपनी पोस्ट को यह बताने के लिए संपादित करूंगा कि अधिक स्पष्ट रूप से। @doofledorfer, मैंने कहा "और इसे एक जावास्क्रिप्ट ऑब्जेक्ट में परिवर्तित करें।" मैंने नहीं कहा कि JSON डेटा एक जावास्क्रिप्ट ऑब्जेक्ट था।
strager

आह, माफ करना, कि पकड़ नहीं था।
strager

8

JSON डेटा को पार्स करने के लिए क्लाइंट ब्राउज़र को संसाधित करने के मामले में हमेशा बेहतर होता है। इसके अलावा, JSON हल्के वजन डेटा विनिमय प्रारूप है।

XML पार्सिंग हमेशा ब्राउज़र संसाधनों का बहुत उपभोग करता है और जब तक अन्यथा आवश्यक नहीं हो तब तक हमें जितना संभव हो उतना बचा जाना चाहिए।


7

मेरे पास वेब प्रोटोकॉल (यानी SOAP, XML, JSON, REST, POX, आदि) के इतिहास का विवरण देने वाले विषय पर एक ब्लॉग पोस्ट है और साथ ही प्रत्येक के कुछ फायदे और नुकसान भी उपलब्ध करा रहा है: http://www.servicestack.net / mythz_blog /? p = 154

मुझे वास्तव में लगता है कि आप डायनामिक (JSON) और स्टैटिक (XML) भाषाओं के बीच अंतर की तुलना करके XML और JSON के बीच कई समानताएं आकर्षित कर सकते हैं।

मूल रूप से XML एक कठोर, अधिक कठोर क्रमांकन प्रारूप है जिसे वैकल्पिक रूप से एक साथ स्कीमा (जो कि XSD या DTD है) के साथ सत्यापित किया जा सकता है। एक्सएसडी काफी विस्तृत हैं और आपको कई अलग-अलग प्रकारों का वर्णन करने की अनुमति देता है जैसे डेट्स, टाइम्स, एनुमरेशंस, यूजर डिफाइंड टाइप्स और यहां तक ​​कि टाइप इनहेरिटेंस, आदि। एसओएपी प्रभावी रूप से एक्सएमएल सुविधा-सेट के शीर्ष पर बनाता है जो आपकी वेब सेवाओं का वर्णन करने के लिए एक मानकीकृत तरीका प्रदान करता है ( एक WSDL के माध्यम से उदाहरण के प्रकार और संचालन)। डब्लूएसडीएल की कल्पना की जटिलता और जटिलता का मतलब है कि इसे विकसित करने के लिए और अधिक थकाऊ हो सकता है, लेकिन साथ ही साथ आपके लिए बहुत अधिक टूलिंग उपलब्ध है और अधिकांश आधुनिक भाषाएं आपके ग्राहक को कुछ बोझों से दूर करने के लिए स्वचालित उपकरण प्रदान करती हैं। बाहरी सेवाओं के साथ हस्तक्षेप करने की कोशिश करने पर बंद करें।

यदि आप एक अच्छी तरह से परिभाषित 'उद्यम सेवा' है जो बार-बार परिवर्तन के अधीन नहीं है या आपकी वेब सेवा को कई अलग-अलग भाषाओं से एक्सेस करने की आवश्यकता नहीं है, तो भी मैं आपको अपनी वेब सेवाओं के लिए XML का उपयोग करने की सलाह दूंगा।

अपने सभी लाभों के लिए XML डाउनसाइड के साथ भी आता है। यह टाइप किए गए एक्स्टेंसिबल प्रारूप प्रदान करने के लिए नामस्थान पर निर्भर करता है और आपको उसी दस्तावेज़ के भीतर विशेषताओं और तत्वों को निर्दिष्ट करने में सक्षम बनाता है। एक दस्तावेज़ के भीतर अलग-अलग नामस्थान होने का मतलब है कि डेटा निकालने के लिए एक Xml Parser का उपयोग करते समय, आपको प्रत्येक तत्व के नाम स्थान को प्रदान करना होगा जिसे आप पुनर्प्राप्त / ट्रैवर्स करना चाहते हैं। यह पेलोड को अतिरिक्त रूप से क्रियाशील बनाता है, जिससे इसे और अधिक क्रिया करने की आवश्यकता होती है। आउटपुट विशेषताओं के साथ-साथ तत्वों का विकल्प होने का अर्थ है कि आपकी कक्षाएं किसी XML दस्तावेज़ में अच्छी तरह से मैप नहीं होती हैं। ये सुविधाएँ अकेले इसे ज्यादातर भाषाओं के लिए एक खराब प्रोग्रामेटिक फिट बनाती हैं जिससे यह काम करने के लिए अधिक थकाऊ और बोझिल हो जाता है।

दूसरी ओर JSON कई मायनों में XML के विपरीत पूर्ण है क्योंकि यह बहुत ही शिथिल-टाइप है और केवल बुनियादी प्रकारों के लिए सरल समर्थन है: नंबर, बूल, स्ट्रिंग, ऑब्जेक्ट्स और एरेज़। बाकी सब कुछ अनिवार्य रूप से एक तार में फिट होना है। जब आप कुछ विशिष्ट प्रकार का समर्थन करना चाहते हैं, तो कुछ सीमाओं के गैर-मानक विनिर्देश का पालन करने की आवश्यकता होगी क्योंकि यह भाषा की सीमाओं के पार संवाद करने की कोशिश करते समय बहुत अच्छा नहीं है। इसके सीमित फीचर-सेट पर अधिकांश भाषाओं के लिए एक अच्छा प्रोग्रामेटिक फिट है - और जावास्क्रिप्ट के लिए पूरी तरह से अनुकूल है क्योंकि JSON स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में सीधे eval'ed किया जा सकता है ।

आकार और प्रदर्शन

मेरे पास कुछ नॉर्थविंड डेटाबेस बेंचमार्क उपलब्ध हैं जो माइक्रोसॉफ़्ट एक्सएमएल और जेएसएन कार्यान्वयन के बीच आकार और गति की तुलना करते हैं। मूल रूप से XML, JSON के आकार से 2 गुना अधिक है, लेकिन साथ ही ऐसा लगता है जैसे Microsoft ने अपने XML DataContractSerializer को अनुकूलित करने में बहुत प्रयास किया क्योंकि यह उनके JSON से 30% से अधिक तेज है। ऐसा लगता है कि आपको आकार और peformance के बीच व्यापार बंद करना होगा। इस तथ्य से खुश नहीं, मैंने अपना खुद का तेज JsonSerializer लिखने का फैसला किया, जो अब 2.6x तेज है तो MS का XML एक है - इसलिए दोनों दुनिया के सर्वश्रेष्ठ :)।


6

अगर मुझे आने वाले डेटा के चंक को मान्य करने की आवश्यकता है, तो मैं JSON पर XML चुनूंगा, क्योंकि XML nativly XSD के माध्यम से इसका समर्थन करता है।


3

JSON से - अंतिम चरण

जब आप JSON मार्ग से नीचे जाते हैं, तो आप उन्हीं मुद्दों पर चलते हैं जिनका XML ने 10 साल पहले सामना किया था:

दो अलग-अलग स्रोतों के डेटा को एक JSON पैकेट में मिलाने से तत्व लेबल एक दूसरे से टकरा सकते हैं। एक पैकिंग स्लिप और एक इनवॉइस मिलाएं, और अचानक से पते का मतलब कुछ अलग हो सकता है। यही कारण है कि XML के नाम स्थान हैं

विभिन्न JSON संरचनाओं के बीच परिवर्तित करने के लिए सांसारिक कोड लिखने की आवश्यकता होगी। डेटा को मैप करने का एक अधिक घोषणात्मक तरीका काम को आसान बना देगा। इसीलिए XML में XSLT है

एक JSON पैकेट की संरचना- इसके क्षेत्र, डेटा प्रकार इत्यादि का वर्णन करना - लोगों को आपकी सेवाओं में हुक करने के लिए आवश्यक है। इसके लिए मेटाडेटा भाषा का होना आवश्यक है। इसी कारण XML में स्कीमा हैं

दो एक साथ क्लाइंट-सर्वर वार्तालापों को ध्यान में रखते हुए। यदि आप सर्वर से दो प्रश्न पूछते हैं और एक उत्तर प्राप्त करते हैं, तो आप कैसे जानते हैं कि यह किस प्रश्न का उत्तर देता है? इसलिए XML में WS-Correlation है


2
नाम स्थान केवल एक और समाधान हैं; यदि आप चाहते हैं तो आप JSON में भी ऐसा ही कर सकते हैं। डब्लूएस-सहसंबंध भी एक्सएमएल के बाद के रूप में जोड़ा गया था और "बिल्ट-इन" नहीं है। आप इसे JSON में भी जोड़ सकते हैं। संरचना विवरण (स्कीमा) XML के लिए विशेष नहीं है; आप eBNF के आविष्कार के बाद से किसी भी औपचारिक भाषा में कई तरीकों से कर सकते हैं। XSLT एक वैध विक्रय बिंदु है, हालाँकि।
फू

2

JSON जावास्क्रिप्ट के लिए देशी एन्कोडिंग है। इसके साथ काम करने के लिए बहुत तेज और आसान होना चाहिए।


2

Http://json.org/xml.html पर पहली पंक्ति से

एक्स्टेंसिबल मार्कअप लैंग्वेज (एक्सएमएल) एक टेक्स्ट फॉर्मेट है जो स्टैंडर्ड जेनरेटेड मार्कअप लैंग्वेज (एसजीएमएल) से लिया गया है। SGML की तुलना में, XML सरल है। हाइपरटेक्स्ट मार्कअप लैंग्वेज (HTML), तुलना करके, और भी सरल है। फिर भी, HTML पर एक अच्छी संदर्भ पुस्तक एक इंच मोटी है। ऐसा इसलिए है क्योंकि दस्तावेजों का प्रारूपण और संरचना एक जटिल व्यवसाय है। । । ।

स्पष्ट रूप से JSON तेज़ है, लेकिन यह और भी स्पष्ट है कि इसे पढ़ना कठिन है। गति के लिए JSON का उपयोग करें, XML का उपयोग करें यदि मानव-संपर्क होगा और आप गति का त्याग कर सकते हैं।


2
आपका उत्तर किसी भी नई जानकारी को नहीं लाता है ... लेकिन मुझे लगता है कि यह अभी भी सही है

1

मैं JSON का उपयोग किसी भी प्रकार के कॉन्फ़िगरेशन, डेटा इंटरचेंज या मैसेजिंग के लिए करता हूं। मैं XML का उपयोग केवल तभी करता हूं जब मुझे अन्य कारणों से या दस्तावेज़-समान डेटा को शब्दार्थ में चिह्नित करना होता है।


1

XML और JSON दोनों Microsoft द्वारा समर्थित हैं। XML शाब्दिक VB 9 में नई शांत विशेषता थी। ASP.NET 4.0 के आगामी संस्करण में JSON क्लाइंट साइड टेम्प्लेटिंग की शक्ति का लाभ उठाने के लिए आवश्यक है।

आपके द्वारा पूछे गए सवाल से ऐसा लगता है कि JSON आपके लिए पसंद हो सकता है क्योंकि jQuery के साथ या उसके बिना क्लाइंट की ओर से प्रक्रिया करना आसान है।


1

JSON का उपयोग करना

  • यदि ब्राउज़र में डेटा का उपभोग जावास्क्रिप्ट द्वारा किया जाना है।
  • डेटा मॉडल सरल है और जटिल नहीं है (बहुत अधिक समग्र वस्तुएं)।

XML का उपयोग करना

  • अधिकतर SOA प्रकार के वातावरण में जहां आप विषम प्लेटफार्मों और प्रौद्योगिकियों पर कई सेवाओं को एकीकृत कर रहे हैं।
  • SOAP का एक फायदा है कि इसे अलग-अलग प्रोटोकॉल के बाद दूसरे HTTP पर प्रसारित किया जा सकता है।
  • XSLT, XSL- एफओ आदि जैसे डेटा मॉडल परिवर्तन उपकरण में उपयोग करने के लिए आसान
  • डेटाबेस का लॉट स्टोर / क्वेरी (XQuery) XML डेटा को सपोर्ट करने के लिए।
  • XML एक बहुत ही परिपक्व डेटा प्रारूप है जिससे आपको किसी भी उपयोग के मामले का समर्थन करने के लिए बहुत सारे उपकरण मिलेंगे, जिसके बारे में आप सोच सकते हैं।

1

मुझे यह लेख डिजिटल बाज़ार में बहुत दिलचस्प लगा।

लेख के कुछ अंश नीचे उद्धृत किए गए हैं।

JSON पेशेवरों के बारे में:

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

XML पेशेवरों के बारे में:

XML असंरचित डेटा की पूर्ण समृद्धि के साथ उल्लेखनीय रूप से संबंधित है। मैं XML के भविष्य के बारे में बिल्कुल भी चिंतित नहीं हूं, भले ही इसकी मौत को वेब एपीआई डिजाइनरों के कैडर द्वारा उल्लासपूर्वक मनाया जाए।

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


यह उत्तर और प्रदान किए गए अंश उद्धृत लेख के टेनर को पूरी तरह से गलत तरीके से प्रस्तुत करते हैं, जो कि JSON का दृढ़ता से पक्षधर है। उद्धरण तीसरे पक्ष के हैं जिनके साथ लेख के लेखक असहमत हैं। उद्धृत लेख एक बहुत अच्छा पढ़ा गया है - इसलिए इस जवाब पर कोई गलतफहमी नहीं है, गलत बयानी के बावजूद।
लॉरेंस Dol

1

त्वरित नियम:

  • JSON: प्रोग्राम-टू-प्रोग्राम डेटा प्रारूप
  • YAML (JSON सुपरसेट): मानव-से-प्रोग्राम डेटा प्रारूप
  • XML: दस्तावेज़ मार्कअप प्रारूप

स्पष्टीकरण:

JSON की एकमात्र भूमिका अधिकांश प्रोग्रामिंग भाषाओं में डेटा प्रकारों का उपयोग करके ऑब्जेक्ट-ओरिएंटेड डेटा को क्रमबद्ध करना है: सूचियाँ , हैश और स्केलर्स , और इस उद्देश्य के लिए इसे वास्तव में पीटा या बेहतर नहीं बनाया जा सकता है। बुद्धि के लिए "JSON का कोई संस्करण संख्या नहीं है [जैसा कि JSON व्याकरण का कोई संशोधन अपेक्षित नहीं है"। - डगलस क्रॉफोर्ड (इसे हरा नहीं सकते हैं जो एक संकेत के रूप में है कि आप अपना काम पूरी तरह से करते हैं)

XML को एक बार डेटा इंटर-चेंज फॉर्मेट के रूप में बेचा गया था, लेकिन दो सबसे सामान्य उपयोग के मामलों पर विचार करें: अतुल्यकालिक क्लाइंट-सर्वर संचार (AJAX) - JSON ने एक्सएमएल को पूरी तरह से बदल दिया है (एक्स वास्तव में एक जे होना चाहिए), और वेब सेवाएं : JSON ने XML को एक अनावश्यक विकल्प बना दिया है।

अन्य चीज़ों के लिए एक्सएमएल का व्यापक रूप से उपयोग किया गया था, कार्यक्रमों के लिए मानव लिखने योग्य / पठनीय (?) डेटा फाइलें थीं, लेकिन यहां भी आपके पास एक अधिक संक्षिप्त, अधिक कार्यक्रम-अनुकूल, अधिक मानवीय-अनुकूल प्रारूप YAML, एक JSON सुपरसेट है।

इसलिए डेटा प्रतिनिधित्व के लिए, JSON बोर्ड पर XML को मारता है। फिर XML के लिए क्या बचा है? मिक्स्ड-कंटेंट डॉक्यूमेंट रिप्रेजेंटेशन, जो कि इसका उद्देश्य था


0

अधिकांश नई वेब प्रौद्योगिकियाँ JSON का उपयोग करती हैं, इसलिए निश्चित रूप से JSON का उपयोग करने का एक अच्छा कारण है। एक बड़ा फायदा यह है कि XML में आप एक ही जानकारी के कई अलग-अलग तरीकों का प्रतिनिधित्व कर सकते हैं, जो JSON में अधिक सरल है।

इसके अलावा, JSON IMHO XML की तुलना में अधिक स्पष्ट है, जो मुझे स्पष्ट लाभ देता है। और यदि आप .NET के साथ काम कर रहे हैं, तो Json.NET आपको JSON के साथ काम करने में मदद करने के लिए एक स्पष्ट विजेता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.