在 NSArray 中解析 NSDictionary,从 Objective-C 中的 JSON 创建



我正在尝试从从JSON字符串创建的字典中获取信息。JSON 字符串从服务器返回并放入字典中。该字典被传递给myMethod,它应该分解它,以便我可以获取每条记录包含的信息。

"记录集"是一个数组。记录也是一系列字典。

如何访问字典?我一直得到NSDictionaryM objectAtIndex:发送到实例的无法识别的选择器

Recordset =     (
     {
     Record =             (
        {
            MODMAKlMakeKey = 1112;
            MODlModelKey = 1691;
            MODvc50Name = "10/12 Series 2";
     },
     {
            MODMAKlMakeKey = 1112;
            MODlModelKey = 1687;
            MODvc50Name = "10/4";
     },
     {
            MODMAKlMakeKey = 1112;
            MODlModelKey = 1686;
            MODvc50Name = "10/6";
     },
等等

等等...( 约 100 条记录 )

这是我所拥有的

- (void) myMethod : (NSDictionary*) dictionary {
    //INITIAL
    NSArray * arrRecordSet   = [dictionary objectForKey:@"Recordset"];
    NSArray * arrRecord      = [arrRecordSet objectAtIndex:0];
    NSDictionary * theRecord    = [NSDictionary dictionaryWithObjects:arrRecord forKeys:[arrRecord objectAtIndex:0]];
    for (int i = 0; i < arrRecord.count; i++) {
        NSLog(@"MODMAKlMakeKey: %@", [theRecord objectForKey:@"MODMAKlMakeKey"]);
    }
}

试试这个

NSArray * arrRecord = [arrRecordSet objectForKey:@"Record"];

首先尝试检查 [dictionary objectForKey:@"Recordset"] 的返回是字典还是数组。

为此:

    if([[dictionary objectForKey:@"Recordset"] isKindOfClass:[NSArray class]]) {
         //object is array
    }
    else if ([[dictionary objectForKey:@"Recordset"] isKindOfClass:[NSDictionary class]]) {
        //object is dictionary
    }

最新更新