Данные не могут быть прочитаны, потому что они не в правильном формате.
Привет, я новичок в разработке для IOS, и я пытаюсь поместить объект JSON в URL-адрес с помощью AFHTTPSessionManager.
Но я постоянно получаю ошибку The data couldn’t be read because it isn’t in the correct format
,
Может кто-нибудь помочь мне исправить это. Тпй..........................................................................
метод
- (void) registerUser: (NSString *)emailAdd compnyName:(NSString *) companyNam{
NSMutableDictionary *userAccount = [[NSMutableDictionary alloc] init];
[userAccount setObject:@"sighUpForm" forKey:@"$name"];
[userAccount setObject:@"true" forKey:@"$dirty"];
[userAccount setObject:@"false" forKey:@"$pristine"];
[userAccount setObject:@"true" forKey:@"$valid"];
[userAccount setObject:@"false" forKey:@"$invalid"];
[userAccount setObject:@"false" forKey:@"$submitted"];
[userAccount setObject:emailAdd forKey:@"$Email"];
[userAccount setObject:companyNam forKey:@"$CompanyName"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:companyNam forKey:@"HelpdeskDomainName"];
[dict setObject:companyNam forKey:@"CompanyName"];
[dict setObject:[NSString stringWithFormat:@"%@ : Admin",companyNam] forKey:@"FirstName"];
[dict setObject:@"" forKey:@"LastName"];
[dict setObject:emailAdd forKey:@"SendTo"];
[dict setObject:@"0" forKey:@"PreferedLanguageID"];
[dict setObject:@"" forKey:@"AffiliateId"];
[dict setObject:userAccount forKey:@"UserAccountModel"];
NSLog(@"signup dicxtionary : %@", dict);
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSLog(@"Login dicxtionary : %@", dict);
MBProgressHUD *hud;
hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.label.text = @"Please wait....";
//manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
[hud showAnimated:YES];
// send user login data to hosting via AFHTTP Async Request in AFNetworking
[manager POST:BASEURL parameters:dict progress:nil success:^(NSURLSessionTask *task, id responseObject) {
[hud hideAnimated:YES];
// Login response validation
if (responseObject == [NSNull null]) {
// [self showErrorMessage:@"Unable to login. Please try again!" title:@"Login Failed"];
}else {
//NSError *error = nil;
NSLog(@"response type : %@", NSStringFromClass([responseObject class]));
//NSDictionary *response = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:&error];
//[self checkResultValue:(NSDictionary *)responseObject];
}
} failure:^(NSURLSessionTask *task, NSError *error) {
NSLog(@"%@", [error localizedDescription]);
}];
}
2 ответа
Попробуй это
Вы должны изменить, как показано ниже:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setStringEncoding:NSUTF8StringEncoding];
manager.requestSerializer=serializer;
manager.responseSerializer.acceptableContentTypes= [NSSet setWithObjects:@"text/html",@"application/json", nil];