解析JSON以获取密钥的值

时间:2015-11-01 18:15:58

标签: ios objective-c json

我正在尝试从JSON中检索一个值,但却没有得到它。它似乎与JSON中的响应和密钥之间的差异有关。任何人都可以建议如何做到这一点?

 NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
            NSLog(@"Results: %@", jsonResults); 
/* This logs to console as follows:
Results: {
    code = 200;
    error = "<null>";
    response =     {
        "insert_id" = 3861;
    };
        NSLog(@"insert_id%@",[jsonResults objectForKey:@"insert_id"]);
//This logs as 
insert_id (null)

2 个答案:

答案 0 :(得分:2)

查看jsonResults的输出。花括号表示字典。并注意“响应”键的值。它的价值还有更大的花括号。这意味着它是一个嵌套字典。

“insert_id”键嵌套在“response”键的字典中。你需要:

NSLog(@"insert_id%@",jsonResults[@"response"][@"insert_id"]);

还要注意使用现代语法。它更容易阅读和写作。

答案 1 :(得分:1)

请求的值位于带有键response

的嵌套字典中
NSLog(@"insert_id: %@",jsonResults[@"response"][@"insert_id"]);