将JSON解析为字典,发出true和false

时间:2014-10-10 00:06:55

标签: ios json nsdictionary afnetworking

我有一个JSON,它给我一个关键:

" fork":false或" fork":true

当我查看字典时,有一个

fork = 0;或者fork = 1;

但是当我尝试调用此代码时

BOOL forkExist;

    if (dictionary[@"fork"])
    {
        if ((BOOL)dictionary[@"fork"])
        {
            NSLog(@">>>>>>>>>>>>>>>>>>> EXIST %@", dictionary[@"fork"]);
            forkExist = YES;
        }
        else
        {
            NSLog(@">>>>>>>>>>>>>>>>>>> NOT EXIST %@", dictionary[@"fork"]);
            forkExist = NO;
        }
    }

非常适合我运行NSLog(@">>>>>>>>>>>>>>>>>> >> EXIST%@",字典[@" fork"]);从来没有第二次NSLog

这是一个日志

>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 1
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 1

但正如你所看到的那样,即使有0个值也不会调用NOT EXIST。

我检查了字典[@" fork"]并且它说它是__NSCFBoolean但是当app比较它似乎不起作用

1 个答案:

答案 0 :(得分:3)

字典将包含BOOL的NSNumber @ 0或@ 1,对象句柄总是" truthy",所以...

BOOL forkExist = [dictionary[@"fork"] boolValue];

应该正常工作。