提问人:Kiran Bhoraniya 提问时间:11/18/2016 最后编辑:Kiran Bhoraniya 更新时间:12/6/2016 访问量:597
AFNetworking 3.0 xml parisng 获取 nsinline 数据中的响应
AFNetworking 3.0 xml parisng getting response in nsinline data
问:
我正在使用 AFnetworking 3.0 进行 XML 解析。 下面是我的代码。
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:Username, @"username", pass, @"password",device,@"device",token,@"devicetoken", nil];
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/soap+xml" forHTTPHeaderField:@"Content-Type"];
NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:[NSString stringWithFormat:@"https://xyz.or/webservice.php"] parameters:dict error:nil];
req.timeoutInterval= [[[NSUserDefaults standardUserDefaults] valueForKey:@"timeoutInterval"] longValue];
[req setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[req setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[req setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
[[manager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (!error) {
NSLog(@"Reply JSON: %@", responseObject);
if ([responseObject isKindOfClass:[NSDictionary class]]) {
//blah blah
}
} else {
NSLog(@"Error: %@, %@, %@", error, response, responseObject);
}
}] resume];
现在我在 nsinline 数据中得到响应。
JSON: <3c3f786d 6c207665 7273696f 6e3d2231 2e302220 656e636f 64696e67 3d227574 662d3822 3f3e3c41 72726179 3e3c4469 633e3c49 643e202d 31203c2f 49643e3c 2f446963 3e3c2f41 72726179 3e>
谁能告诉我我应该怎么做才能获得 da
答:
0赞
KKRocks
12/6/2016
#1
您需要更改此行
manager.requestSerializer = [AFJSONRequestSerializer serializer];// remove this if no use
manager.requestSerializer = [AFHTTPRequestSerializer serializer]; // remove this if no use
改变
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
跟
manager.responseSerializer = [AFJSONResponseSerializer serializer];
评论
manager.requestSerializer = [AFJSONRequestSerializer serializer]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.responseSerializer = [AFHTTPResponseSerializer serializer];
这些台词是什么意思?只应该考虑最后一个,不是吗?你谈到了 XML(在你的问题中),但你所有的代码似乎都与 JSON 有关。