2012-06-29 14 views
16

.NET में JSON के एन्कोडिंग और डिकोडिंग के समय उपयोग करने के लिए बेहतर क्या है? मैंने दोनों बिंदुओं की कोशिश की है और इस बिंदु तक जेसनकॉन्टर एक अच्छा काम कर रहा है। मैंने पहले सफलतापूर्वक जावास्क्रिप्टसेरियलाइज़र का उपयोग किया है लेकिन हाल ही में इसके साथ कुछ समस्याएं हैं। क्या .NET क्लास की तुलना में JSON.NET का उपयोग करना बेहतर है?JSON.NET JsonConvert बनाम .NET JavaScriptSerializer

उचित लाइब्रेरी का उपयोग करके एन्कोडिंग/डिकोडिंग जेसन के लिए पसंदीदा फ़ंक्शन क्या हैं? मैं JSON.NET से SerializeObject/DeSerializeObject का उपयोग करता हूं और .NET से Serialize/DeSerialize का उपयोग करता हूं।

धन्यवाद

+0

वहाँ माइग्रेट करना होगा [यहां अच्छी तुलना है] (http://www.servicestack.net/mythz_blog/?p=344) गति के मामले में। इस आलेख को पढ़ने के बाद भी मैंने न्यूटॉन्सॉफ्ट.जेसन का उपयोग किया है, क्योंकि यह मेरे लिए सभ्य काम करता है। – toske

उत्तर

27

मुझे लगता है कि वास्तव में this तुलना की तरह आप के लिए देख रहे हैं।

यह मूल रूप से कहा गया है कि JSON.Net बेहतर है क्योंकि यह अन्य बातों के अलावा है ...

  • तेजी
  • JSON समर्थन करने के लिए LINQ
  • परिवर्तित कर सकते हैं JSON करना पड़ता है और एक्सएमएल

मेरी राय में केवल सकारात्मक, (और यह एक छोटा सकारात्मक है), मैं अंतर्निहित धारावाहिक के लिए देख सकता हूं कि प्रबंधन के लिए कोई बाहरी बाहरी निर्भरता नहीं है।

संपादित: Codeplex एक दिन बंद हो रहा है, ताकि आप केवल पृष्ठ पर "फ़ीचर तुलना" के लिए खोज के रूप में अच्छी तरह से तुलना here पा सकते हैं,।

+0

_Is fast_ क्या आपने इसका परीक्षण किया? मैंने .NET 4.5.2 और Json.NET 9.01 के साथ प्रयास किया और यह JavaScriptSerializer की तुलना में बिल्कुल तेज़ नहीं है। आधिकारिक साइट में गति आंकड़े JSON.NET 5 का जिक्र कर रहे हैं ... थोड़ा पुराना! – krlzlx

+1

@krlzlx .Net 4.5.2 मई 2015 में जारी किया गया था, और कुछ महीने पहले JSON.Net 9.01 जारी किया गया था, जबकि मैंने 2013 में 3 साल पहले यह उत्तर लिखा था। आप स्नैकी होने की बजाय अपने मीट्रिक के साथ एक अद्यतन उत्तर क्यों नहीं देते ! – Haohmaru

+0

मुझे खेद है कि मुझे पता है कि आपका उत्तर 2013 से है। लेकिन आपने Json.NET वेबसाइट के अलावा किसी भी मीट्रिक प्रदान नहीं किया है। जब मैंने इसका परीक्षण किया तो मैं निराश था। बस इतना ही। – krlzlx

9

बहुत लंबे समय तक, मेरे ऐप ने JavascriptSerializer का उपयोग किया और माइग्रेट करने का कोई वास्तविक कारण नहीं देखा। यहां तक ​​कि यदि प्रदर्शन तुलना भारी प्रतिशत लाभ का दावा करती है, तो हम मिलीसेकंड की बात कर रहे हैं।

लेकिन यहाँ विस्थापित करने के लिए एक बहुत बहुत अच्छा कारण नहीं है: क्योंकि यह System.Web तो का हिस्सा है अगर आप JavascriptSerializer का उपयोग कर रहे JavascriptSerializer.Net Core में उपलब्ध नहीं है, आप अटक कर रहे हैं और JSON.net

को
+1

+1 पर विचार करने के लिए यह एक अच्छा बिंदु है – Haohmaru