从NSDictionary对象中提取

时间:2013-07-07 07:19:09

标签: objective-c nsdictionary json-framework

我使用json-framework从URL和URL中提取JSON字符串,并使用这两行代码将JSON字符串转换为NSDictionary对象

SBJsonParser* parser = [SBJsonParser new];
NSDictionary* myDict = [parser objectWithString:resp];

我的NSDicitonary有:

(
        {
        condition = no;
        date = "2013-06-21";
        "location_id" = 9;
        name = Chabahil;
        reason = "";
        time = "03:04:22";
    },
        {
        condition = pressure;
        date = "2013-06-21";
        "location_id" = 7;
        name = Maitighar;
        reason = "Peak Hour";
        time = "03:04:13";
    }
)

现在我需要访问每个元素,例如我想获得第二个元素的“name”值。我无法弄明白该怎么做。 谢谢!

1 个答案:

答案 0 :(得分:0)

JSON字符串不包含字典,而是包含数组(两个字典)。 所以你会这样做

SBJsonParser* parser = [SBJsonParser new];
NSArray* jsonArray = [parser objectWithString:resp];

并访问值,例如

NSString *secondName = [[jsonArray objectAtIndex:1] objectForKey:@"name"];

或使用现代的下标语法:

NSString *secondName = jsonArray[1][@"name"];

(请注意,基金会已经有一个NSJSONSerialization课程,所以除非你 有一个特定的理由使用SBJsonParser,你也可以使用它。)