当前位置: 首页 > 面试题库 >

将Objective-C对象序列化和反序列化为JSON

隗高旻
2023-03-14
问题内容

我需要将Objective-
C对象序列化和反序列化为JSON以存储在CouchDB中。人们是否有通用解决方案最佳实践的示例代码?我看了几个JSONhtml" target="_blank">框架,它们在NSDictionary
/ NSArray级别停止了。即,许多框架会将NSDictionary /
NSArray序列化和反序列化为JSON。但是我仍然要做将NSDictionary转换为Objective-C对象的工作。

为了使事情更复杂,我的对象A可以引用对象B的NSArray / NSDictionary。


问题答案:

听起来好像您正在寻找一个序列化库,该库可以让您将自己的自定义类的对象转换为JSON,然后重新构造它们。属性列表类型(NSArray,NSNumber等)的序列化已存在于第三方库中,甚至内置于OS
X 10.7和iOS 5中。

因此,我认为答案基本上是“否”。我在一两个月前在cocoa-dev邮件列表上问了这个确切的问题,而最接近我的是Mike
Abdullah,他指向他写的一个实验库:

https://github.com/mikeabdullah/KSPropertyListEncoder

这会将对象存档到内存中的属性列表,但是正如我所说的,已经有将这些对象转换为JSON的API。

还有一个名为Objectify的商业应用程序,声称可以执行类似的操作:

http://tigerbears.com/objectify/

作为我的CouchCocoa库的一部分,我可能最终会实现您的要求,但我尚未深入研究该任务。

https://github.com/couchbaselabs/CouchCocoa



 类似资料:
  • 本文向大家介绍java对象的序列化和反序列化,包括了java对象的序列化和反序列化的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java对象的序列化和反序列化,供大家参考,具体内容如下 1. 什么是序列化        将对象转换为字节流保存起来,比如保存到文件里,并在以后还原这个对象,这种机制叫做对象序列化。(补充一句:把对象保存到永久存储设备上称为持久化) 2. 怎么实现序列化

  • 我已经开始将一个项目从使用Java标准日期迁移到Joda DateTime。 我的项目使用XML序列化将对象保存到XML文件中。在这个特殊的例子中,我有一个Item类,它有一个DateTime属性。 在某个时候,我正在初始化对象,包括像这样的DateTime属性: 我使用XMLEncoder使用辅助类序列化项目: 显然,日期时间被保存在xml中。。。但毫无价值: 显然,它没有保存任何东西,但不,它

  • 我在尝试“反序列化”对象时遇到以下错误: 我需要能够使用这个XStream库序列化/反序列化对象,甚至是那些没有参数构造函数的对象。

  • 问题内容: 我在使用AJAX访问的Java服务器应用程序中有一个字符串。它看起来像以下内容: 当从服务器提取字符串时,是否有一种简单的方法可以将其转换为活动的JavaScript对象(或数组)?还是我必须手动拆分字符串并手动构建对象? 问题答案: 现代浏览器支持。 在不浏览器,您可以包括在库中。

  • 本文向大家介绍详解 C# 中XML对象的序列化和反序列化,包括了详解 C# 中XML对象的序列化和反序列化的使用技巧和注意事项,需要的朋友参考一下 这一篇主要是用来介绍关于C#中的XML序列化的问题,这个相信大家一定会经常使用它,特别是在WPF中,有时候我们需要将我们后台的数据保存在数据库中,从而在软件下一次启动的时候能够自动去加载这些数据,由于我们的这些Model中字段众多,如果单独进行保存那是

  • 我想序列化一些XML。我的代码运行正常,但序列化不成功,对象为空,而不是填充数据。该值只是类型值:{OrangeCdToCollectorz.OrangeCd}。我怀疑我的阶级定义。以下是我正在序列化的类: 这是我的代码,尝试使用几种众所周知的技术对相同的XML进行反序列化,无论是作为字符串const还是来自文件: 以下是源XML的示例