iOS 5 中的 NSJSONSerialization 类似于 c# 序列化到类

Posted

技术标签:

【中文标题】iOS 5 中的 NSJSONSerialization 类似于 c# 序列化到类【英文标题】:NSJSONSerialization in iOS 5 like c# serialize to class 【发布时间】:2012-01-28 07:07:33 【问题描述】:

我正在将我们的 C# MVC 存储库代码移植到适用于 iPad 的 ios5。我一直在成功处理对服务的调用,拉动 Json 并序列化为内置的 NS 对象。但这似乎需要大量工作才能将这些部分拉出来然后分配给一个班级。在 C# 中,这很容易,只需序列化到您的类,映射到数据属性,就可以使用强类型视图模型。

任何人在 iOS/XCode 中做过类似的事情,我知道你可以以有趣的方式使用 NSData,我只是还不够专业,我正在寻找指针和最佳实践。

【问题讨论】:

从查看文档来看,我会说不。您最好的选择是创建字典,然后使用 KVO 填充您的类的实例。 【参考方案1】:

你的问题对我来说不是很清楚。但根据我的解释,您想在应用程序中使用 Web 服务数据。在这种情况下,看看它是否对您有帮助: 您是否能够连接到 Web 服务并从中获取序列化数据?您将收到 NSData 类型的对象中的数据。然后,您可以使用 NSXMLParser 类(使用从 Web 服务接收的 NSData 初始化)和它的委托方法来解析数据。

本博客可以帮助您: http://iphonebyradix.blogspot.com/2011/04/working-with-webservices.html

如果你想写序列化数据,使用NSJSONSerialization类那么你可以使用

+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error

方法。您可以在 developer.apple 上找到详细信息:

https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

【讨论】:

【参考方案2】:

试试 github 上的 KeyValueObjectMapping 项目,如果属性/类的名称与 json 的上下文不同,它对对象映射(自动)和重新映射有一些很好的支持。

【讨论】:

以上是关于iOS 5 中的 NSJSONSerialization 类似于 c# 序列化到类的主要内容,如果未能解决你的问题,请参考以下文章

Mountain Lion 上 xCode 4.5.1 中的 iOS 4 和 iOS 5 SDK

核心数据需要帮助(初学者)

iOS 中的资产库问题 - 5

iOS 5 中的 UITabBar 高度

ios 5.0 中的 ios AUGraph 音高偏移

5月8日——iOS中的3D Touch效果