我的返回数据表单 AFNetworking JSON 未正确显示
Posted
技术标签:
【中文标题】我的返回数据表单 AFNetworking JSON 未正确显示【英文标题】:My return data form AFNetworking JSON is not displaying properly 【发布时间】:2013-08-01 02:20:47 【问题描述】:现在遇到问题。尝试谷歌搜索解决方案,但仍然无法获得任何解决方案。如果有人能帮我解决这个问题,我将不胜感激
基本上我正在使用 AFNetworking 库使用 OneMap API。我得到的返回数据,当我 NSLog 它时, : 被替换为 = 而 [ 被替换为 (
显然,POST 方法不起作用,OneMap 是否只支持 GET?
当我将其转换为字符串并使用 UTF8 对其进行编码时,它会以正确的格式记录,但我无法直接从字符串中检索键值对吗?
这是我用来使用它的代码的 sn-p:
-(void)getDrivingDirections:(NSArray *)coords 目的地:(NSArray *)dest
NSString *destination = [dest componentsJoinedByString:@","];
NSString *currentLocation = [coords componentsJoinedByString:@","];
NSString *routeStops = [[NSString alloc]initWithFormat:@"%@;%@",currentLocation,destination];
NSString *dataURL = [[NSString alloc]initWithFormat:@"http://www.onemap.sg/API/services.svc/route/solve?token=%@&routeStops=%@",tokenString,routeStops];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:dataURL]];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET"
path:dataURL
parameters:nil];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
NSLog(@"%@",responseObject);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
NSLog(@"Error: %@", error);
[MMProgressHUD dismissWithSuccess:@"Something went wrong :("];
];
[operation start];
这里是返回的sn-p:http://pastebin.com/Sa0U0tYf(太长了,直接贴在这里)
谢谢!
【问题讨论】:
NSLog 是什么样的? NSLog 返回包含在最后一个链接中。 pastebin 的链接。这基本上是我对 api 消费的整个 NSLog 回报 怎么显示不正常?看起来你有一本字典。当您打印到控制台时,它将以该格式打印。 JSON 中使用的 : 现在变成了 = 并且 [ used 变成了(通常我使用的其他 JSON,我可以使用 [[data objectForKey:@"directions"] 访问它objectForKey:@"features"]。但在这种情况下,这会崩溃。 是的,它就是这样打印出来的。尝试将您的响应分配给 NSDictionary。完成此操作后,您将能够轻松管理响应。 【参考方案1】:如果您希望返回 JSON,为什么不尝试使用AFJSONRequestOperation
?响应对象将是一个 NSDictionary
,其中包含 JSON 响应的内容,并使用内置的 NSJSONSerialization
进行解析。
【讨论】:
以上是关于我的返回数据表单 AFNetworking JSON 未正确显示的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking 和 id reponseObject 不工作且无法恢复内容