0

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

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

现在我需要访问每个元素,例如我想获取第二个元素的“名称”值。我不知道该怎么做。谢谢!

4

1 回答 1

0

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

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

并访问值,例如

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

或者,使用现代下标语法:

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

(请注意,NSJSONSerializationFoundation 中已经有一个类,所以除非你有特定的理由使用SBJsonParser,否则你也可以使用它。)

于 2013-07-07T08:17:35.810 回答