Как вы получаете изменяемые словари из AFNetworking и AFJSONRequestOperation? - PullRequest
2 голосов
/ 23 февраля 2012

Я использую JSONKit с AFHTTPClient AFNetworking (с AFJSONRequestOperation), и я не могу понять, как можно инициировать использование методов mutableObjectFrom ... JSONKit вместо обычных методов синтаксического анализатора, которые возвращают (или массивы)из) JKDictionary.

Возможно ли это без изменения AFNetworking?

Ответы [ 3 ]

15 голосов
/ 11 апреля 2013

В последней версии AFNetworking вы можете достичь этого без изменения кода. После создания операции AFJSONRequestOperation * и перед вызовом [начало операции] добавьте

[operation setJSONReadingOptions:NSJSONReadingMutableContainers];

Затем вы можете выполнить итерацию по JSON и изменить базовые NSMutableDictionaries

2 голосов
/ 27 февраля 2012

Вы не можете сделать это без редактирования кода AFNetworking.

В AFJSONUtilities.m изменить (строка 103)

SEL _JSONKitSelector = NSSelectorFromString(@"objectFromJSONDataWithParseOptions:error:"); 

К

SEL _JSONKitSelector = NSSelectorFromString(@"mutableObjectFromJSONDataWithParseOptions:error:"); 
0 голосов
/ 13 сентября 2012

Для операции AFNetworking на основе NSJSONSerialization в строке 203 AFJSONUtilities.m изменить:

NSUInteger readOptions = 0

до

NSUInteger readOptions =  NSJSONReadingMutableContainers 
...