我有一系列 NSObject,我想序列化为 JSON 并发布到服务。最终对象由相互嵌套的这些 NSObject 子类的多个级别组成。
这些对象中的每一个都遵循一个带有方法的协议(protocol),该方法使用适当的键返回 NSDictionary 中的对象属性。然而,其中一些属性是其他对象等等,使得序列化有点复杂。
是否有一种模式可以用来简化最终对象的序列化?使用 JSONKit,似乎我需要从最深的对象中单独序列化每个字典并向后工作,检查错误,然后添加到复合字符串。我知道这不可能是使用这个功能强大的库的最佳方法。欢迎任何建议或指导。
编辑 1
最佳答案
AutomagicCoding 库使用低级属性自省(introspection)将任何 NSObject 递归转换为 NSDictionary,然后可以将其直接序列化为 JSON:
https://github.com/psineur/NSObject-AutomagicCoding
它可能涉及对具有结构等属性的类进行一些微调,但这可能是您会发现的最简单、最少劳动密集型的方法。
更新:
我已经编写了自己的库 HRCoding ( https://github.com/nicklockwood/HRCoder ),它可以使用 NSCoding 协议(protocol)将任何对象加载/保存为 JSON)
关于ios - 将复杂的 NSObject 序列化为 JSON 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9198252/