iOS RestKit 0.2 解析本地 Json 的最佳方法是啥

Posted

技术标签:

【中文标题】iOS RestKit 0.2 解析本地 Json 的最佳方法是啥【英文标题】:iOS RestKit 0.2 What is the best way to parse local JsoniOS RestKit 0.2 解析本地 Json 的最佳方法是什么 【发布时间】:2014-03-27 10:57:43 【问题描述】:

我阅读了许多关于通过 Http 请求解析 json 的文章,但几乎没有人回答关于解析本地 json 字符串的最直接方法是什么的问题。我在这里找到了一些不同的解决方案Deserializing local NSString of JSON into objects via RestKit (no network download),其中一些有效,而另一些则无效。是否有任何“官方”RestKit 支持本地 JSON 字符串反序列化?

【问题讨论】:

【参考方案1】:

幸运的是,Apple 在 ios 5.0 中提供了“NSJSONSerialization”类。序列化您的数据。 第 1 步:将本地 JSON 字符串转换为“NSData”

     NSString *strLocalJSON = @"data= "some data""; //just for ex. may not be valid one
     NSData *dataJSON = [str dataUsingEncoding:NSUTF8StringEncoding];

第二步:

   id jsonobject= [NSJSONSerialization JSONObjectWithData:dataJSON options:NSJSONReadingMutableContainers error:nil]; // resulting object may contain Dictionary or Array depends on your localjson

更多信息请参考https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

【讨论】:

【参考方案2】:

如果您的 JSON 在文件中,则在创建 RestKit 对象管理器时使用file:// NSURL。其他一切正常。

如果 JSON 已经存在于代码中,那么您应该将其保存到文件中,或者为什么需要进行任何映射?无论如何,您可以使用NSJSONSerializationRKMappingOperation 的组合。

【讨论】:

以上是关于iOS RestKit 0.2 解析本地 Json 的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

RestKit 0.2:扁平化 JSON 中的层次结构

在 iOS 的 RestKit 中解析嵌套的 JSON

RestKit 0.2 映射 Core Data <--> JSON 与一对多关系

Restkit 映射 0.2

通过 RestKit 将 JSON 的本地 NSString 反序列化为对象(无网络下载)

iOS Restkit:如何解析嵌套路径