您的位置:首页 > 理论基础 > 计算机网络

http返回值转换成json后,int类型转成的是NSNumber

2015-06-30 16:54 691 查看
今天在做一个简单测试,http post,httpPOST返回后的json是code=20000,一开始直接使用int类型强转 ,发现有问题,打印出来的结果始终不对,后来调试发现原来int类型值其实转成了NSNumber,同时也发现如果 MBProgressHUD使用时的一个注意点,就是纯text模式下,text一定要是NSString,如果是其他类型程序就崩溃了

    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager
alloc]init];
    
    NSMutableDictionary *params = [[NSMutableDictionary
alloc]init];
    [params setObject:_nameTF
forKey:@"account"];
    [params setObject:_nameTF
forKey:@"password"];
    [params setObject:_nameTF
forKey:@"nickname"];
   
    [manager POST:REGURL
parameters:params success: ^(AFHTTPRequestOperation *operation,
id responseObject) {
        
        NSString *response = [NSString
stringWithString:operation.responseString];
        NSData   *data = [[NSData
alloc]initWithData:[response
dataUsingEncoding:NSUTF8StringEncoding]];
        NSDictionary *dic = [NSJSONSerialization
JSONObjectWithData:data options:NSJSONReadingMutableContainers 
error:nil];
        
        NSLog(@"responseObject: %@", dic);
        NSNumber *code = [dic
valueForKey:@"code"];
        
        NSLog(@"responseObject[CODE]:%ld", [code
intValue]);
        dispatch_async(dispatch_get_main_queue(), ^{
            
            [MBProgressHUDShow
MBProgressHUDShowText:self.navigationController.view
textA:[[NSString
alloc]initWithFormat:@"code = %d", [code
intValue]] yOffsetFromBottomA:100.0f
holdTimeA:2];
        });

    }failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
        NSLog(@"error: %@", error);
    }];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: