在进行 json 解析时,我收到异常为 ::-->> 原因::无法识别的选择器发送到实例

Posted

技术标签:

【中文标题】在进行 json 解析时,我收到异常为 ::-->> 原因::无法识别的选择器发送到实例【英文标题】:while doing json parsing i'm getting exception as ::-->> reason: : unrecognized selector sent to instance 【发布时间】:2016-11-20 07:22:13 【问题描述】:
NSURL *url=[NSURL URLWithString:@"https://itunes.apple.com/us/rss/topaudiobooks/limit=10/json"];

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];

NSURLResponse *response;
NSError *error;

NSData *downloadData=[NSURLConnection sendSynchronousRequest:url returningResponse:&response error:&error];

if (!error) 
       NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:downloadData options:NSJSONReadingMutableLeaves error:nil];
       NSLog(@"%@",dict);

【问题讨论】:

第一:显示整个错误信息。它应该给你什么是导致问题的方法以及它被称为什么样的对象。此外,您的代码应该给您一个警告,因为sendSynchronousRequest:returningResponse:error: 等待其第一个参数的NS(Mutable)Request 请求对象=> 将url 替换为request。其他注意事项:避免调用同步请求,在主线程中调用,它们会阻塞 UI,并且从 ios9 开始也已弃用,请改用NSURLSession 【参考方案1】:

您使用的方法需要一个NSMutableURLRequest 对象,而您传递的是一个NSURL。 - 尝试在您的代码中将“url”替换为“request”,一切顺利。

【讨论】:

以上是关于在进行 json 解析时,我收到异常为 ::-->> 原因::无法识别的选择器发送到实例的主要内容,如果未能解决你的问题,请参考以下文章

iOS:JSON 解析为 NSArray?

json字符串转对象,遇到空字符串会抛异常吗

AngularJS将递归JSON解析为对象数组

我在解析 JSON 时遇到错误。为啥我会收到这个错误?

如何在 Swift 中使用 Decodable 解析 JSON 元素。我这样做时收到错误

如何将整数值解析为 Json iOS?