2010-06-20 21 views
6

मुझे लगता है कि करने के लिए और एक सर्वर से भेजा जा रहा है और डेटा की बड़ी मात्रा प्राप्त होने वाला है एक iPhone app के निर्माण कर रहा हूँ। मैं डेटा प्राप्त करने के लिए JSON का उपयोग कर रहा हूँ। मैं सोच रहा था कि प्रक्रिया को तेज करने की कोशिश करने के लिए प्राप्त डेटा पर कुछ प्रकार के संपीड़न का उपयोग करना संभव है। यदि हां, तो किस तरह का संपीड़न जेएसओएन के साथ सबसे अच्छा काम करता है, और मुझे इसके बारे में और जानकारी कहां मिल सकती है?iPhone, JSON और संपीड़न

धन्यवाद,

उत्तर

2
पार्टी के लिए देर हो चुकी है, लेकिन सिर्फ मामले किसी की तलाश में

। ASIHTTPRequest का उपयोग करें जिसमें gzip संपीड़न के लिए अंतर्निहित समर्थन है। यह डिकंप्रेशन को संभालने के ऊपरी हिस्से को बचाएगा। gzip at ASIHTTPRequest

0

आईफोन ZLib का समर्थन करता है। लेकिन मुझे लगता है कि आपके सर्वर को संपीड़न का समर्थन करने का बेहतर विचार है क्योंकि NSURLRequest सर्वर प्रतिक्रियाओं से gzip एन्कोडिंग स्वीकार करता है। चूंकि जेएसओएन क्रमबद्ध है, यह आपके लिए सबसे अच्छा विकल्प हो सकता है।

zlib आप क्लाइंट-साइड से संपीड़न का उपयोग कर सकते हैं

0

JSON स्वयं वास्तव में परवाह नहीं करता कि आप अपने डेटा पर किस तरह का संपीड़न उपयोग करते हैं, इसलिए आप संपीड़न योजना चुनने के लिए स्वतंत्र हैं जो डेटा को सर्वोत्तम रूप से फिट करती है और सर्वोत्तम आकार/प्रदर्शन प्रदान करती है।

हालांकि JSON सभी डेटा को UTF-8 प्रारूप में होना चाहते हैं ताकि आप संकुचित डेटा, जैसे सांकेतिक शब्दों में बदलना करने की जरूरत है उम्मीद बेस 64 एन्कोडिंग का उपयोग करके।

0

कम से कम दो (CJson & HPack) JSON compression के लिए इस्तेमाल किया एल्गोरिदम रहे हैं। ग्राहक डिवाइस gzip का समर्थन करता है

हैं, तो JSON संपीड़न का उपयोग करने का कोई लाभ नहीं है। दोनों का उपयोग करते समय: gzip संपीड़न & जेसन संपीड़न, सुधार नगण्य है। JSON संपीड़न का उपयोग करना समझ में आता है, जब gzip अक्षम है या समर्थित नहीं है।

0

यदि आप डेटा आकार के बारे में भी चिंतित हैं मैं HPack (भी JSONH के रूप में जाना जाता है) लगता है gzip संपीड़न के साथ संपीड़न एल्गोरिथ्म एक अच्छा विकल्प है। मैं ऑब्जेक्ट की श्रेणी के साथ एक सरल json डेटा को संपीड़ित करने की कोशिश की, मैं संपीड़न के दो तरीकों का इस्तेमाल किया -

  1. gzip
  2. JSONH + gzip

JSONH + gzip का परिणाम लगभग 7% अधिक था बस gzip का उपयोग करने के परिणाम से संपीड़ित। मेरे मामले में यह एक महत्वपूर्ण संख्या थी और मैं मिश्रित कार्यान्वयन के साथ आगे बढ़ गया।