将 NSDictionary 转换为 NSMutableArray



我有这个代码:

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);

最新更新