1

私が働いている会社はRestKitの使用を検討しています。ただし、サーバーが返すJSONは、セキュリティ上の理由から文字で囲まれています。それは苦痛です。RestKitを使用せず、JSONをほとんど使用しない別のiPhoneアプリでは、サーバーから返された文字列を解析し、JSON文字列の前後の文字を削除します。文字列が解析されたら、文字列に対してJSONValueを呼び出し(SBJSONを使用しています)、NSDictionaryを取得します。

RestKitはプラグ可能なアーキテクチャを備えていると聞きました。その場合、RestKitが解析を行う前に、サーバーから戻ってくる文字列をインターセプトできる場所がありますか?

4

2 に答える 2

2

RestKitコードベースを変更する必要のない修正を見つけたかったのですが、それを見つけました。答えは、自分のパーサーを作成して登録することでした。

パーサーはRKParserプロトコルに準拠する必要があります。基本的に私がする必要があるのは、サーバーの応答をトリミングし、応答をオブジェクトに解析しないことでした-それを行うパーサーがすでにありました:RKJSONParserJSONKit。そこで、このクラスをサブクラス化し、起動時にパーサーを登録しました。

[[RKParserRegistry sharedRegistry] setParserClass:[MyJSONParser class] 
                                      forMIMEType:@"application/json"];
于 2012-05-24T23:11:40.720 に答える
0

最近では、サブクラス化することで独自の取得/マップ操作を実装できることに注意してください。

  • RKHTTPRequestOperation (doc) —サーバーからファイルを取得するため
  • RKObjectRequestOperation (doc) —マッピング用
  • RKManagedObjectRequestOperation (doc) —コアデータオブジェクトへのマッピング用

そしてそれらを[RKObjectManager registerRequestOperationClass:] (doc)メソッドで登録します。

于 2015-04-20T15:32:37.427 に答える