2010-08-25 10 views
40

क्या आईओएस एसडीके में सर्वर से जेएसओएन पार्स करने के लिए कोई कक्षा है? iOS 5 के लिए (एक्सएमएल के लिए और विस्तार आरएसएस द्वारा NSXML समान करने के लिए।)आईओएस में मूल JSON समर्थन?

उत्तर

72

आईओएस 5 जेएसओएन के रूप में मूल रूप से समर्थित है, तीसरे पक्ष के ढांचे की कोई आवश्यकता नहीं है। यह NSJSONSerialization Class द्वारा समर्थित है!

+1

क्या आप मूल कक्षाओं या JSONKit का उपयोग करने की सलाह देंगे - मैंने गैर-देशी वर्गों का उपयोग करने के लिए प्रदर्शन कारणों को सुना है, और कुछ फीडबैक – Doug

+0

@Doug से प्यार करेंगे: http://www.bonto.ch/ ब्लॉग/2011/12/08/जेसन-लाइब्रेरीज़-फॉर-आईओएस-तुलना-अपडेट/जेएसओएनकिट तेज़ है, लेकिन जब तक आप बड़ी संख्या में जेएसओएन के साथ काम नहीं कर रहे हैं, मुझे नहीं लगता कि इससे काफी अंतर आएगा। – ThomasW

+0

NSJSONSerialization में केवल आईओएस 5 में एक बग है (मैंने इसे 6 में कभी नहीं पाया) और कभी-कभी पूरी तरह से वैध JSON पर एक त्रुटि फेंक देगा। त्रुटि कहती है त्रुटि डोमेन = NSCocoaErrorDomain कोड = 3840 "ऑपरेशन पूरा नहीं हो सका। (कोको त्रुटि 3840.)" (चरित्र 126 के आस-पास ऑब्जेक्ट के लिए डुप्लिकेट कुंजी।) मुझे नहीं पता कि त्रुटि का पूरी तरह से क्या कारण है, जैसा कि मैं कर सकता हूं हमेशा इसे पुन: उत्पन्न नहीं करते हैं। – LightningStryk

36

अपडेट किया गया जवाब:

JSON समर्थन अब है आईओएस के मूल निवासी NSJSONSerialization साथ, लेकिन प्रदर्शन के मामले में, यह तुलना में pales JSONKit को, जॉन एंगलहार्ट JSONKit README में कहा गया है:

अद्यतन: (2011/12/18) बेंचमार्क से काफी नीचे सेब NSJSONSerialization उपलब्ध था से पहले प्रदर्शन किया गया (Mac OS X 10.7 तथा iOS 5 के रूप में)। स्पष्ट सवाल यह है कि: कौन सा तेज़ है, एनएसजेएसओएसरियलाइजेशन या जेएसओएनकिट? इस साइट के अनुसार, JSONKit NSJSONSerialization से तेज है। रिपोर्ट किए गए नंबरों का उपयोग करके कुछ त्वरित "लिफाफे के पीछे" गणना, JSONKit NSJSONSerialization की तुलना में लगभग 25% से 40% तेज प्रतीत होता है, जो कि काफी महत्वपूर्ण है।

enter image description here

यहाँ एक ब्लॉग पोस्ट जो अधिक विशिष्ट मानक में विशद जानकारी देता है: JSON Libraries for iOS Comparison

+10

गूगल या किसी अन्य समान स्रोत के माध्यम से इस सवाल को खोजने के किसी के लिए: बोज़ के नीचे का जवाब यह एक प्रतिस्थापित करता है। JSON समर्थन अब आईओएस के मूल निवासी है। – Tommy

+0

आईओएस के संदर्भ गिनती आधारित कचरा संग्रह का उपयोग करने वाले आपके ऐप के साथ JSONKit का उपयोग करने की उम्मीद रखने वाले किसी भी व्यक्ति के लिए, आप यहां भाग्य से बाहर हैं (दूसरे शब्दों में JSONKit दस्तावेज का उल्लेख करने के तरीके से बाहर निकलता है कि JSONKit का व्यवहार जब किसी के साथ उपयोग किया जा रहा है एआरसी ऐप अनिर्धारित है)। लेकिन, यदि आप एआरसी का उपयोग कर रहे हैं, तो शायद आपको मेमोरी और प्रदर्शन के बारे में बहुत ज्यादा परवाह नहीं है :-) – umassthrower

+2

@umassthrower मुझे यकीन है कि आप '-फनो-ओबीजेसी-आर्क' ध्वज से अवगत हैं ... –

0

NextiveJson है आईओएस JSON NextiveJson

के लिए काफी तेजी से lib होना चाहिए
0

वर्तमान पल और आईओएस संस्करण के लिए JSONKit बेंचमार्क के संबंध में यह इतना तेज़ नहीं है। परीक्षण गति के लिए परीक्षण आवेदन बनाने के बाद NSJSONSerialization है तेजी से लेकिन इतनी जल्दी नहीं कस्टम कार्यान्वयन के रूप में OKJSONParser

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