[英]why Json Dictionary is Giving the response in nsdata(Bytes) always.How can i Get the Dictionary from web service
In this i am sending the header and Add perameters to hitting the web service.在此,我将发送标头并添加参数以访问 Web 服务。 the problem is after hitting the web service controller is not going in to success part sometimes.
问题是在点击 Web 服务控制器后有时不会进入成功部分。 if it is hitting properly then it will return the result in bytes.
如果它正确命中,那么它将以字节为单位返回结果。 This is My code::
这是我的代码::
AFHTTPRequestOperationManager *manager =[AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setTimeoutInterval:300];
manager.requestSerializer.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
//giving the correct format to json
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
token=[parameters valueForKey:@"token"];
if(token == nil || [token isEqual:[NSNull null]]){
token=[[[NSUserDefaults standardUserDefaults]dictionaryForKey:@"LoginWebData"]valueForKey:@"token"];
}else{
token=[parameters valueForKey:@"token"];
}
//set the header do http request
[manager.requestSerializer setValue:[NSString stringWithFormat:@"%@",token]forHTTPHeaderField:@"token"];
[manager POST:[BaseURLString stringByAppendingString:methodName] parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject){
NSLog(@"JSON: %@", responseObject);
UserDict=responseObject;
[self.TableviwSideMenu reloadData];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"Error: %@", [error localizedDescription]);
[self showAlert: [error localizedDescription]];
}];
the AFNetworking will do the serialization for you and the responseObject will most likely be either a NSArray or NSDictionary object do like
AFNetworking 将为您进行序列化,而 responseObject 很可能是 NSArray 或 NSDictionary 对象,就像
[manager POST:[BaseURLString stringByAppendingString:methodName] parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject){
NSLog(@"JSON: %@", responseObject);
if ([responseObject isKindOfClass:[NSArray class]]) {
NSArray *responseArray = responseObject;
UserDict=responseArray;
/* do something with responseArray */
} else if ([responseObject isKindOfClass:[NSDictionary class]]) {
NSDictionary *responseDict = responseObject;
UserDict=responseDict;
/* do something with responseDict */
}
if (UserDict.count>0)
[self.TableviwSideMenu reloadData];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"Error: %@", [error localizedDescription]);
[self showAlert: [error localizedDescription]];
}];
The AFNetworking framework and its delegate will handle everything. AFNetworking 框架及其委托将处理一切。 You will get responseObject in NSDictionary.
您将在 NSDictionary 中获得 responseObject。
-(void)Request{
[self.Request_coursecomplete setRequestMethod:@"POST"];
self.Request_coursecomplete = [ASIFormDataRequest requestWithURL:sendSMSURL];
self.Request_coursecomplete.delegate = self;
//will try second time
[self.Request_coursecomplete setNumberOfTimesToRetryOnTimeout:2];
[self.Request_coursecomplete setShouldContinueWhenAppEntersBackground:YES];
NSTimeInterval timeOutSecs = 60000;
[self.Request_coursecomplete setTimeOutSeconds:timeOutSecs];
[self.Request_coursecomplete startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSString *receivedString = [request responseString];
NSLog(@"json string: %@",receivedString);
NSDictionary *d = [receivedString JSONValue];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.