有很多關於SO的問題和答案,要求我如何在目標c中連續化一個對象。我應該使用NSCoder來連載到JSON嗎?
- 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
將對象序列化爲JSON。看起來不錯,但是這需要所討論的對象是頂層的數組或字典。常見的解決方案是聲明自定義的toDictionary
或serialise
方法,該方法在屬性上循環並設置相關的鍵和值。
2)符合NSCoder
協議,有點像上面的方法,但似乎有一些混淆,這是否可以連續化到JSON或只是到NSData
。
3)第三方庫。
我對使用什麼方法略有困惑。我想序列化爲JSON,有一些矛盾的答案,說明你可以使用NSCoder一些說不。我知道第三方應用程序將工作,但我寧願實現一些簡單的選項1或2.
想法?
我寫了一個Backbone.js的端口到Objective C.你可以看看我如何處理JSON(de)序列化:https ://github.com/geon/Backbone.m/blob/master/BackboneModel.m#L229 – geon