/ / क्या मुझे JSON में या अलग बाइनरी कनेक्शन में बड़े डेटा ब्लॉब्स को स्थानांतरित करना चाहिए? - iphone, json, blobs

क्या मुझे जेएसओएन में या अलग बाइनरी कनेक्शन में बड़े डेटा ब्लॉब्स ले जाना चाहिए? - आईफोन, जेसन, ब्लब्स

सवाल:

क्या JSON में बड़े डेटा ब्लॉब्स को सादगी के लिए भेजना बेहतर है, या उन्हें एक अलग कनेक्शन पर बाइनरी डेटा के रूप में भेजें?

यदि पूर्व, आप आकार को कम करने के लिए JSON का अनुकूलन करने के लिए सुझाव दे सकते हैं?

यदि उत्तरार्द्ध, तो क्या यह तार्किक रूप से इसके लायक हैJSON डेटा को एक पहचानकर्ता का उपयोग करके द्विआधारी डेटा से कनेक्ट करें, जो दोनों में प्रकट होता है, जैसे "डेटा": JSON में "<विशिष्ट पहचानकर्ता>" और डेटा के पहले बाइट्स के साथ <विशिष्ट पहचानकर्ता>?

प्रसंग:

मेरे iPhone एप्लिकेशन को 3G नेटवर्क पर JSON डेटा प्राप्त करना होगा। इसका मतलब है कि मुझे डेटा ट्रांसफर की दक्षता के साथ-साथ सीपीयू पर लोड के बारे में भी गंभीरता से सोचने की जरूरत है।

अधिकांश डेटा ट्रांसफर पाठ डेटा के अपेक्षाकृत छोटे पैकेट होंगे जिनके लिए JSON एक प्राकृतिक प्रारूप है और जिसके लिए दक्षता के बारे में ज्यादा चिंता करने का कोई मतलब नहीं है।

हालांकि, सबसे महत्वपूर्ण हस्तांतरण में से कुछ होगाबाइनरी डेटा के बड़े पैमाने पर हो - निश्चित रूप से कम से कम 100 किलोबाइट डेटा, और संभवतः 1 मेगाबाइट के करीब है क्योंकि ग्राहक उत्पाद के साथ एक लंबा इतिहास जमा करते हैं। (नोट: मैं अपने आप को iPhone पर कैशिंग कर सकता हूं, लेकिन डेटा अभी भी कम से कम एक बार स्थानांतरित करना होगा।) यह डेटा स्ट्रीमिंग नहीं है।

मैं संभवतः एक तृतीय-पक्ष JSON SDK का उपयोग करूंगा - जो मैं विकास के दौरान उपयोग कर रहा हूं यहाँ.

धन्यवाद

उत्तर:

उत्तर № 1 के लिए 1

आप इसे भेजने से पहले JSON (शायद gz) को संपीड़ित करने का प्रयास कर सकते हैं और फिर इसे क्लाइंट-साइड पर अनलॉक्ड कर सकते हैं।

लेकिन मुझे यकीन नहीं है कि यह iPhone प्रदर्शन को कैसे प्रभावित करता है।