2014-02-19 3 views
-1

Когда я делаю запрос на отправку, а null-элемент возвращается в json, он анализируется на "<null>" вместо NSNull.Afnetworking не обрабатывает нуль правильно

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
NSURL * nsurl = [NSURL URLWithString:url relativeToURL:[NSURL URLWithString:self.baseUrl]]; 
NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:method URLString:[nsurl absoluteString] parameters:data error:nil]; 
AFHTTPRequestOperation * operation; 
operation = [manager HTTPRequestOperationWithRequest:request 
        success: ^(AFHTTPRequestOperation *operation , id responseObject){ 
         if([[HEEnv env][@"debugLevel"] intValue]>0){ 
          NSLog(@"JSON: %@", responseObject); 
         } 
         [self parseFromJSON:responseObject]; 
         completion(nil); 
        } 
        failure: ^(AFHTTPRequestOperation *operation , NSError *error){ 
         NSLog(@"Error: %@", error); 
         completion(error); 
        } 
       ]; 
[manager.operationQueue addOperation:operation]; 

Ответ

JSON: { 
"created_at" = "2014-02-18T19:58:46.000Z"; 
id = 1; 
"is_new" = 0; 
level = "<null>"; 
"topic_id" = "<null>"; 
"updated_at" = "2014-02-19T20:09:27.129Z"; 
xp = "<null>"; 
} 
+0

А? Выход журнала показывает '' "', а не '@" "'. – rmaddy

+0

@rmaddy: Это проблема форматирования в вопросе. '<...' интерпретируется как команда HTML, если не цитируется и не экранируется. –

+0

@MartinR Я только понял, что после вашего редактирования. Благодарю. – rmaddy

ответ

1

Это, кажется, только артефактом NSDictionary выхода. Пример:

NSDictionary *d = @{@"key": [NSNull null]}; 
NSLog(@"%@", d); 

Выход:

{ 
    key = "<null>"; 
} 

Доступ значения с objectForKey и сравнения с [NSNull null] должны работы без проблем.

Смежные вопросы