我有这个代码:
NSDictionary *jsonGuardado = [self dictionaryFromJson:JSON];
NSLog(@"HOLA %@",jsonGuardado);
NSMutableArray *arrayCodigos = [jsonGuardado objectForKey:@"code"];
codigos = arrayCodigos;
(Codigos 是一个 NSMutableArray)
NSLOG 返回以下内容:
HOLA (
{
code = 22051310;
},
{
code = 22051311;
},
{
code = 22051312;
},
{
code = 22051313;
}
)
但紧接着,一条消息错误说:
-[JKArray objectForKey:]: unrecognized selector sent to instance
我在谷歌和这里搜索此错误,我发现的所有问题都对我没有帮助。
我正在使用JSONKit
来制作字典FromJson方法。
你试试这个,
NSArray *jsonGuardado = [self dictionaryFromJson:JSON];
NSLog(@"HOLA %@",jsonGuardado);
NSMutableArray *arrayCodigos = [NSMutableArray arrayWithArray:[jsonGuardado valueForKey:@"code"]];
NSLog(@"arrayCodigos %@", arrayCodigos);
它将仅打印值。
在您的情况下,解析器返回数组而不是字典。
[self dictionaryFromJson:JSON]
返回一个 Json 数组,但您正在 NSDictionary 中捕获它
您的日志显示它已经NSArray
了。您应该尝试以下操作
NSMutableArray *jsonGuardado = [NSMutableArray array];
jsonGuardado = (id)[self dictionaryFromJson:JSON];
NSLog(@"HOLA %@",jsonGuardado);
NSMutableArray *arrayCodigos = [[jsonGuardado objectAtIndex:0] valueForKey:@"code"];
codigos = [arrayCodigos copy];
NSLog(@"Array %@",codigos);