简体   繁体   English

解析json并获取异常,原因:'-[__ NSCFArray objectForKey:]:无法识别的选择器已发送到实例0x7b1c7630

[英]parsing json and getting exception, reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x7b1c7630

I am trying to get a value for a particular key from a dictionary but i get a [__NSCFArray objectForKey:]: unrecognized selector sent to instance 我正在尝试从字典中获取特定键的值,但我得到了一个[__NSCFArray objectForKey:]: unrecognized selector sent to instance

- (void)listCaredMembersSuccessResponse:(NSDictionary *)response {
[self hideActivityView];

 if ([[response valueForKey:@"status"] caseInsensitiveCompare:NSLocalizedString(@"SUCCESS", nil)] == NSOrderedSame) {
   NSDictionary *mainDict = [response objectForKey:@"data"];
   NSArray *detailsArray = [mainDict objectForKey:@"Text"];
   [appDelegate.proxiesListArr addObjectsFromArray:[ParserManager parseListCaredMembers:detailsArray]];
 } else {
   [[ClassObjects sharedCenter] showCustomAlert:@"" Message:NSLocalizedString(@"PROXIES_FAILURERESPONSE", nil)];
  }

This is my json response: 这是我的json响应:

{"Status":"Success","data":[{"Alias":"1-0","ID":80,"Icon":"","Items":[],"Params":{},"Text”:”Text1”,”Type":"group","Width":"170"},{"Alias":"1-1","ID":8000102,"Icon":"","Items":[],"Params":{},"Text”:”Text2”,”Type":"group","Width":"170"}]}

The problem is you have a NSArray not an NSDictionary . 问题是您有一个NSArray而不是NSDictionary The NSArray has a count of 1 and contains an NSDictionary . NSArray的计数为1,并包含NSDictionary

this line is wrong NSArray *detailsArray = [mainDict objectForKey:@"Text"]; 这行是错误的NSArray *detailsArray = [mainDict objectForKey:@"Text"];

NSArray *wrapper= [[NSJSONSerialization JSONObjectWithData:webData options:0 error:nil]objectForKey:@"data"];

for (NSDictionary *temp in wrapper) {

   NSString *text=[temp objectForKey:@"Text"]; //Text may be NSString type


    // THE REST OF YOUR CODE
}

Update 更新

if ([[response valueForKey:@"status"] caseInsensitiveCompare:NSLocalizedString(@"SUCCESS", nil)] == NSOrderedSame) {

NSArray *mainDict = [response objectForKey:@"data"];

  for (NSDictionary *temp in mainDict) {

   NSString *text=[temp objectForKey:@"Text"]; //Text may be NSString type


    // THE REST OF YOUR CODE
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 解析json并获取NSInvalidArgumentException',原因:'-[__ NSCFArray objectForKey:]:无法识别的选择器已发送到实例 - parsing json and getting NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance - [__ NSCFArray objectForKey:]:无法识别的选择器发送到实例0x11c824e0 - -[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x11c824e0 NSInvalidArgumentException”,原因:“-[__ NSCFConstantString objectForKey:]:无法识别的选择器已发送到实例0x10256a1b0” - NSInvalidArgumentException', reason: '-[__NSCFConstantString objectForKey:]: unrecognized selector sent to instance 0x10256a1b0' 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSCFArray length]:无法识别的选择器已发送到实例 - Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray length]: unrecognized selector sent to instance 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSArrayM objectForKey:]:无法识别的选择器已发送至实例 - Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance [NSCFArray行]:无法识别的选择器已发送到实例0x3953a20 - [NSCFArray row]: unrecognized selector sent to instance 0x3953a20 终止应用程序-'NSInvalidArgumentException',原因:'-[NSCFString objectForKey:]:无法识别的选择器已发送到实例 - Terminating app - 'NSInvalidArgumentException', reason: '-[NSCFString objectForKey:]: unrecognized selector sent to instance 错误:[事件objectForKey:]:无法识别的选择器已发送到实例0x - An error: [Events objectForKey:]: unrecognized selector sent to instance 0x [NSCFArray length]:发送到实例的无法识别的选择器 - [NSCFArray length]: unrecognized selector sent to instance '-[__ NSCFString objectForKey:]:无法识别的选择器已发送到实例0x9c515c0' - '-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x9c515c0'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM