在RestKit之前拦截JSON

时间:2012-05-04 00:14:59

标签: json restkit

我正在研究的公司正在考虑使用RestKit。但是,出于安全原因,我们的服务器返回的JSON包含字符。这是一种痛苦。在另一个不使用RestKit且仅使用JSON的iPhone应用程序中,我解析从服务器返回的字符串,删除前面的字符和尾随JSON字符串。一旦解析了字符串,我就在字符串上调用JSONValue(我们使用的是SBJSON)并获得一个NSDictionary。

我听说RestKit具有可插拔的架构。如果是这种情况,那么我可以在RestKit进行解析之前拦截从服务器返回的字符串吗?

2 个答案:

答案 0 :(得分:2)

我想找到一个不需要我以任何方式更改RestKit代码库的修复程序,我找到了它。答案是创建并注册我自己的解析器。

解析器需要符合RKParser协议。基本上我需要做的是修剪服务器响应而不是将响应解析为对象 - 已经有一个解析器可以做到:RKJSONParserJSONKit。所以我将这个类子类化并在启动时注册了我的解析器:

[[RKParserRegistry sharedRegistry] setParserClass:[MyJSONParser class] 
                                      forMIMEType:@"application/json"];

答案 1 :(得分:0)

只是想注意,现在你可以通过继承

来实现自己的检索/映射操作
  • RKHTTPRequestOperation (doc) - 用于从服务器检索文件
  • RKObjectRequestOperation (doc) - 用于映射
  • RKManagedObjectRequestOperation (doc) - 用于映射到核心数据对象

并使用[RKObjectManager registerRequestOperationClass:] (doc)方法注册它们。