Я работаю над исправлением ошибки в существующем проекте. Проблема в том, что AFHTTPClient ожидает действительного ответа JSON, но сервер возвращает некоторую тарабарщину, такую как «« \ «Операция завершена» (все кавычки и скобки находятся в обратном). Это приводит к сбою операции и удару блок отказа, потому что он не может проанализировать ответ. Несмотря на это, сервер возвращает код состояния 200 и счастлив, что операция завершена.Принимая недействительный JSON в AFJSONRequestOperation?
У меня есть класс, который расширяет AFHTTPClient, как это (exert from my .h файл)
@interface AuthClient : AFHTTPClient
//blah blah blah
@end
В моем файле реализации класса инициализируется следующим образом:
- (id)initWithBaseURL:(NSURL *)url{
if (self = [super initWithBaseURL:url]) {
self.parameterEncoding = AFFormURLParameterEncoding;
self.stringEncoding = NSASCIIStringEncoding;
[self setDefaultHeader:@"Accept" value:@"application/json"];
[self registerHTTPOperationClass:[AFJSONRequestOperation class]];
}
return self;
}
вызов Я делаю это делается в классе, упомянутой выше, и бывает так:
- (void)destroyToken:(NSString *)token onCompletion:(void (^)(BOOL success))completion onFailure:(void (^)(NSError *error))failure{
[self postPath:@"TheServerURL" parameters:@{@"token": token} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSError *error;
//Do some stuff
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//Don't want to be here.
}];
}
Внутри строя блока ошибка возвращается в разделе _userInfo объект ошибки как:
[0 ] (нуль) @ «NSDebugDescription»: @ «JSON текст не начать с массивом или объектом и возможностью разрешить фрагменты не установлен.»
код ошибки 3480.
От погуглить Аро и я понял, что мне нужно установить что-то вроде NSJSONReadingAllowFragments, но я не уверен, как/где данная текущая настройка. У кого-нибудь есть идеи?
Когда сервер отвечает недействительным JSON, почему служба не исправлена? – CouchDeveloper
Планирование сервера запланировано, но оно не будет нажато некоторое время. Это не поддается контролю. Однако это отбрасывает мой график тестирования. – Rob