2012-05-04 69 views
1

我正在使用的公司正在考慮使用RestKit。但是,出於安全原因,我們的服務器返回的JSON包含字符。這是一個痛苦。在另一個不使用RestKit並僅使用JSON的iPhone應用程序中,我解析了從服務器返回的字符串,刪除了JSON字符串之前的字符和尾隨的字符。一旦字符串被解析,我就在字符串上調用JSONValue(我們使用SBJSON)並獲得一個NSDictionary。在RestKit之前攔截JSON

我聽說RestKit具有可插拔架構。如果情況是這樣的話,那麼我可以在RestKit進行解析之前攔截從服務器返回的字符串?

回答

2

我想找到一個修復程序,不需要我以任何方式更改RestKit代碼庫,並且我找到了它。答案是創建並註冊我自己的解析器。

解析器需要符合RKParser協議。基本上我需要做的是修剪服務器響應,而不是將響應解析爲對象 - 已經有一個解析器可以做到這一點:RKJSONParserJSONKit。所以我子類這個類和註冊我的解析器在啓動時:

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

只是想指出,現在,你可以通過繼承

  • RKHTTPRequestOperation(doc)實現自己的檢索/圖操作 - 用於檢索文件從服務器
  • RKObjectRequestOperation(doc) - 映射
  • RKManagedObjectRequestOperation(doc) - 用於映射到核心數據對象

並將其註冊爲[RKObjectManager registerRequestOperationClass:](doc)方法。