2012-05-04 4 views
1

Компания, с которой я работаю, рассматривает возможность использования RestKit. Однако JSON, который возвращает наш сервер, окружен символами по соображениям безопасности. Это боль. В другом приложении для iPhone, которое не использует RestKit и использует JSON только очень мало, я разбираю строку, возвращаемую с сервера, удаляя символы, предшествующие и завершающие строку JSON. После того, как строка разобрана, я вызываю JSONValue в строке (мы используем SBJSON) и получаем NSDictionary.Перехват JSON до RestKit

Я слышал, что RestKit имеет подключаемую архитектуру. Если это так, я могу перехватить строки, возвращающиеся с сервера до того момента, когда RestKit выполняет разбор?

ответ

2

Я хотел найти исправление, которое не требовало от меня изменения базы данных RestKit в любом случае, и я нашел его. Ответ состоял в том, чтобы создать и зарегистрировать собственный парсер.

Парсеры должны соответствовать протоколу RKParser. В основном то, что мне нужно было сделать, это обрезать ответ сервера и не анализировать ответ на объекты - уже был парсер, который сделал это: RKJSONParserJSONKit. Так что я подклассы этого класса и зарегистрировал мой анализатор при запуске:

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

Просто хотелось бы отметить, что в настоящее время вы можете реализовать свою собственную восстановить работу/карты наследования

  • RKHTTPRequestOperation(doc) - для получения файла от сервера
  • RKObjectRequestOperation(doc) - для отображения
  • RKManagedObjectRequestOperation(doc) - для отображения на сердечник данных объектов

и регистрации их [RKObjectManager registerRequestOperationClass:](doc) метод.

Смежные вопросы