【发布时间】:2014-06-23 03:29:31
【问题描述】:
关于 SO 有许多问题和答案询问我如何在目标 c 中将对象序列化。
- 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(反)序列化的:github.com/geon/Backbone.m/blob/master/BackboneModel.m#L229
标签: ios objective-c json serialization