एसओ पर कई प्रश्न और उत्तर हैं जो पूछते हैं कि मैं किसी ऑब्जेक्ट को उद्देश्य सी में कैसे क्रमबद्ध करता हूं।क्या मुझे जेएसओएन को क्रमबद्ध करने के लिए एनएससीओडर का उपयोग करना चाहिए?
- Serialize and Deserialize Objective-C objects into JSON
- Objective C serialize list of complex objects
- Serialize custom object to JSON which contains NSMutableArray
- How to serialize a class in IOS sdk (Objective-c)?
निम्नलिखित 3 तरीकों सब ऊपर दिए गए लिंक में वर्णित हैं।
1) जेएसओएन को ऑब्जेक्ट को क्रमबद्ध करने के लिए NSJSONSerialization
का उपयोग करें। अच्छा लगता है लेकिन इसके लिए वस्तु को शीर्ष स्तर पर या तो सरणी या शब्दकोश होने की आवश्यकता होती है। सामान्य समाधान कस्टम toDictionary
या serialise
विधि घोषित करना है जो गुणों पर लूप करता है और प्रासंगिक कुंजी और मान सेट करता है।
2) NSCoder
प्रोटोकॉल के अनुरूप, ऊपर दिए गए दृष्टिकोण की तरह थोड़ा, लेकिन यह कुछ भ्रम प्रतीत होता है कि यह JSON को क्रमबद्ध कर सकता है या सिर्फ NSData
पर।
3) तृतीय पक्ष पुस्तकालय।
मुझे थोड़ा उलझन में आ रहा है कि किस दृष्टिकोण को लेना है। मैं JSON को क्रमबद्ध करना चाहता हूं, कुछ विरोधाभासी उत्तर हैं जो बताते हैं कि आप एनएससीओडर का उपयोग कुछ नहीं कह सकते हैं। मुझे पता है कि एक थर्ड पार्टी ऐप काम करेगा हालांकि मैं विकल्प 1 या 2 जैसे कुछ सरल कार्यान्वित करना चाहता हूं।
विचार?
मैं उद्देश्य सी के लिए बैकबोन.जेएस का एक बंदरगाह लिख रहा हूं। आप देख सकते हैं कि मैंने JSON (डी) धारावाहिक को कैसे संभाला है: https : //github.com/geon/Backbone.m/blob/master/BackboneModel.m#L229 – geon