ios - 将复杂的 NSObject 序列化为 JSON 模式

标签 ios json jsonkit

我有一系列 NSObject,我想序列化为 JSON 并发布到服务。最终对象由相互嵌套的这些 NSObject 子类的多个级别组成。

这些对象中的每一个都遵循一个带有方法的协议(protocol),该方法使用适当的键返回 NSDictionary 中的对象属性。然而,其中一些属性是其他对象等等,使得序列化有点复杂。

是否有一种模式可以用来简化最终对象的序列化?使用 JSONKit,似乎我需要从最深的对象中单独序列化每个字典并向后工作,检查错误,然后添加到复合字符串。我知道这不可能是使用这个功能强大的库的最佳方法。欢迎任何建议或指导。

编辑 1

JSONKit GitHub URL

JSONKit Readme Documentation

最佳答案

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/

相关文章:

ios - NSDictionary 填充 JSON 数据

objective-c - 序列化时 JSONKit 无法识别选择器

ios - 将标记添加到 GMSMapView subview ios

python - 保存和导出 python pandas 数据框的数据类型信息

iphone - 是否可以使用 AVAudioPlayer 播放 mp3 文件的一部分?如果是,如何?

json - 如何将 KotlinModule 注册到 AWS lambda Jackson Object Mapper?

json - 如何循环遍历 JSON 对象数组?

objective-c - JSONKit 是否会造成内存泄漏?

ios - 解析 swift 中管理员的 ACL 角色

ios - 如何使搜索栏像默认邮箱一样缩小效果