AFNetworking の AFHTTPClient (AFJSONRequestOperation を使用) で JSONKit を使用していますが、JKDictionary (または配列) を返す通常のパーサー メソッドではなく、JSONKit の mutableObjectFrom... メソッドの使用をトリガーする方法がわかりません。 .
これは AFNetworking を変更せずに可能ですか?
AFNetworking の AFHTTPClient (AFJSONRequestOperation を使用) で JSONKit を使用していますが、JKDictionary (または配列) を返す通常のパーサー メソッドではなく、JSONKit の mutableObjectFrom... メソッドの使用をトリガーする方法がわかりません。 .
これは AFNetworking を変更せずに可能ですか?
AFNetworking の最新バージョンでは、コードを変更せずにこれを実現できます。AFJSONRequestOperation * 操作を作成した後、[操作開始] を呼び出す前に、追加します。
[operation setJSONReadingOptions:NSJSONReadingMutableContainers];
その後、JSON を反復処理して、基になる NSMutableDictionaries を変更できます。
AFNetworking コードを編集しないと、これを行うことはできません。
AFJSONUtilities.m の変更 (103 行目)
SEL _JSONKitSelector = NSSelectorFromString(@"objectFromJSONDataWithParseOptions:error:");
に
SEL _JSONKitSelector = NSSelectorFromString(@"mutableObjectFromJSONDataWithParseOptions:error:");
AFNetworking の NSJSONSerialization ベースの操作では、AFJSONUtilities.m の 203 行目を次のように変更します。
NSUInteger readOptions = 0
に
NSUInteger readOptions = NSJSONReadingMutableContainers