JSON प्रोग्रामिंग भाषाओं से ज्ञात संरचनाओं के रूप में आपके डेटा को देखता है: मानचित्र/शब्दकोश (जिसे JSON में 'ऑब्जेक्ट' कहा जाता है), सरणी और अक्षर। जेएसओएन इन बुनियादी संरचनाओं को पदानुक्रमों में डालता है।
एक्सएमएल भी पदानुक्रमित है, लेकिन इसमें तीन मूल भाग हैं: तत्व (प्रारंभ/अंत टैग के साथ), तत्वों के भीतर गुण, और पाठ सामग्री। तत्वों और टेक्स्ट सामग्री को मिश्रित किया जा सकता है, इसलिए यह दस्तावेज़ों को चिह्नित करने के लिए उपयुक्त है। JSON इसके लिए बहुत अच्छा नहीं है।
एक्सएमएल के पास बहुत सारे तैयार उपकरणों के साथ इसके चारों ओर विशाल पारिस्थितिकी तंत्र बनाया गया है: यह जांचने के लिए कि आपके एक्सएमएल दस्तावेज वैध, परिवर्तन भाषा, XPath आपके दस्तावेज़ को नेविगेट करने के लिए XPath हैं, आदि। इस क्षेत्र में JSON की कमी भी है।
एक्सएमएल हालांकि JSON से कहीं अधिक जटिल है। अपने स्वयं के JSON पार्सर को लिखना आसान और मजेदार है, लेकिन एक्सएमएल पार्सर लिखना huge undertaking है (निश्चित रूप से किसी ऐसे व्यक्ति के लिए नहीं जो एक्सएमएल के लिए नया है)। जावास्क्रिप्ट में, जेएसओएन को पाठ का मूल्यांकन करके पार्स किया जा सकता है (हालांकि यह बहुत असुरक्षित है)।
यदि आपको दो सिस्टम के बीच डेटा स्थानांतरित करने की आवश्यकता है, तो JSON इसके लिए ठीक है। यदि आप एक्सएमएल (इकाइयों, अन्य दस्तावेजों के स्वचालित समावेशन, स्कीमा, निहित विशेषता मूल्य इत्यादि) से अधिक उन्नत गुणों का उपयोग करना चाहते हैं, या सामग्री और मार्कअप मिश्रण, एक्सएमएल आपके लिए बेहतर काम करेगा।
स्रोत
2009-07-12 20:45:43
हम कुछ के साथ JSON या XML में बात करने के लिए सभी प्रश्न यह सोचते हैं कि आप जा रहे हैं उत्तर दिया है ग्राहक का प्रकार यदि आप नहीं हैं (उदा।, आप "सामान्य" PHP ऐप की तरह उत्पाद HTML पर जा रहे हैं) तो आप इनमें से किसी एक का उपयोग नहीं करेंगे। या आप सर्वर पक्ष पर serializing के बारे में बात कर रहे हैं (उदाहरण के लिए, फाइलों के लिए) ... ??? –
मैंने कहा कि मैं PHP के साथ डेटा में हेरफेर करने जा रहा हूं, मुझे नहीं पता कि क्यों सभी उलझन में थे और ग्राहक पक्ष के बारे में बात करते थे। सर्वर में कुछ डेटा है (कहीं से डाउनलोड किया गया है) और PHP का उपयोग करके इसका उपयोग करेगा, आसान क्या है। डेटा आकार में छोटा है, लेकिन संरचना में बहुत जटिल है, इसलिए मैं सबसे आसान बनाना चाहता हूं (जेसन या एक्सएमएल ??) –
जेएसओएन और एक्सएमएल वे प्रारूप हैं जिनका उपयोग आप PHP प्रोसेसर से डेटा प्राप्त करने के लिए करेंगे। PHP में, आप सीधे PHP ऑब्जेक्ट्स का उपयोग करेंगे। क्या डेटा प्रदाता आपको इन दो प्रारूपों के बीच चयन करने के लिए मजबूर कर रहा है? अन्यथा आप PHP ऑब्जेक्ट सीरियलाइजेशन या डेटाबेस का उपयोग करेंगे, शायद। –