我正在将 JSONKit 与 AFNetworking 的 AFHTTPClient(带有 AFJSONRequestOperation)一起使用,我似乎无法弄清楚如何触发使用 JSONKit 的 mutableObjectFrom... 方法,而不是返回(或数组)JKDictionary 的普通解析器方法.
在不修改 AFNetworking 的情况下这可能吗?
我正在将 JSONKit 与 AFNetworking 的 AFHTTPClient(带有 AFJSONRequestOperation)一起使用,我似乎无法弄清楚如何触发使用 JSONKit 的 mutableObjectFrom... 方法,而不是返回(或数组)JKDictionary 的普通解析器方法.
在不修改 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