比较json服务响应中的键

时间:2012-03-30 11:49:15

标签: ios ios5 nsarray nsdictionary nsjsonserialization

我正在获取一个json服务,我想对某些键的值进行比较检查。例如,我在json数组中有一个键'status',但我无法对其值进行比较检查。 回应如下:

{"status":400,"response":"No cast found"}

我想做类似的事情:

if([jsonDict objectForKey:@"status"] == @"400"){
..
}

但检查不会有效,有什么办法吗?

3 个答案:

答案 0 :(得分:3)

可能有两件事:

如果 [jsonDict objectForKey:@“status”] 给你一个NSString,那么正确的比较方法是:

if([[jsonDict objectForKey:@"status"] isEqualToString:@"400"])

如果 [jsonDict objectForKey:@“status”] 给你一个NSNumber或NSDecimalNumber:

if([[jsonDict objectForKey:@"status"] isEqualToNumber:[NSNumber numberWithInt:400])

答案 1 :(得分:2)

试试这个

if([jsonDict objectForKey:@"status"] isEqualToString @"400"){
..
}

答案 2 :(得分:1)

您也可以这样做:

if([[jsonDict objectForKey:@"status"] intValue] == 400){
//your code here
}