如何访问此NSDictionary中的各种项目



假设下面有NSDictionary*foo:

complete = 1;
    list =     {
        8213812 =         {
            excerpt = "Lorem ipsum dolor...."
        }
        8810100 =         {
            another = "iasjdiasd..."
        ...

我知道访问"完整"时我会使用[response-objectForKey:@"完整"],但其他的呢?

您只需不断访问嵌套字典中的键,直到得到所需的键。对于访问"列表",它是,毫不奇怪的

[[response objectForKey:@"complete"] objectForKey:@"list"]

对于访问列表中的8213812样式键,这取决于它们的类型。假设它们是字符串,那就是

[[[response objectForKey:@"complete"] objectForKey:@"list"] objectForKey:@"8213812"]

或者,使用更新、更简洁的语法

response[@"complete"][@"list"][@"8213812"]

但它们可能是NSNumber或其他什么,在这种情况下,您将使用适当的NSNumber。

[[[response objectForKey:@"list"] objectForKey:@"8213812"] objectForKey:@"excerpt"]

或者:

NSDictionary *list = [response objectForKey:@"list"];
NSDictionary *inner = [list objectForKey:@"8213812"];
NSString *excerpt = [inner objectForKey:@"excerpt"];

或者:

NSString *excerpt = response[@"list"][@"8213812"][@"excerpt"];

等等。。

最新更新