NSJSONSerialization
返回null,但是来自服务器的其他api工作正常,当我在web中尝试api它返回json类型的数据时,我检查了它在json viewer中,它工作正常,NSData
也会返回一些数据,任何人都可以帮助我完成它吗?
NSString *urlString = @"url";
NSURL *url = [NSURL URLWithString:urlString];
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:url];
_dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if(error != nil){
NSLog(@"JSON Error: %@", error);
return;
}
我已经尝试过上面编写的代码。
答案 0 :(得分:2)
问题在于您的网址中的转义序列,而您无法转义它们。你必须正确地逃避这些序列。
NSString *urlString = @"url";
NSString *encodedString = [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:encodedString];
试试这个:
NSString *urlString = @"url";
NSURL *myUrl = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
答案 1 :(得分:1)
制作NSURLConnection
并JSON
NSURLRequest
,因为我认为'json'不是具有内容的实际文件,因此您可以使用dataWithContentsOfURL: