2

我在 POST 之后使用 NSJsonSerialization 来取回 json 返回。我要么取回正确的回报,要么得到:

{
"status":"false"
}

在我尝试解析它之前,我需要检查我是否取回了我的回报(因为如果我要求的密钥不存在,它会崩溃)但是如果我检查

[whatever objectForKey:@"status"] == nil

当它为零时没关系,但是如果它不存在它会崩溃(因为我取回了我的另一个回报)

我得到的崩溃是这个,似乎 NSJSONSerialzation 正在返回一个 NSArray 作为 NSdictionary?:

2012-07-02 11:03:40.426 [9412:10703] -[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x75f03f0
2012-07-02 11:03:40.429 [9412:10703] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x75f03f0'

我需要想办法知道我得到了哪些回报,这样我才能采取相应的行动。

4

1 回答 1

5

你可以检查whatever变量的类型

if([whatever isKindOfClass:[NSDictionary class]])
    //then check for nil
else
    //Then its not a dictionary then in your case its empty
于 2012-07-02T15:22:34.707 回答