我有一个 API 返回一个 JSON 编码的数据字符串,该字符串返回一个实数或“null”作为值。只要 JSON 包含数字或字符串值,一切都会按预期工作。如果 key:value 对的值为 null,则下面的代码会崩溃。
从 SBJSON 获取 NULL 时,如何正确测试 NSDictionary objectForKey?
当 API为 filetype 返回 null 时,下面的代码会在 if() 行崩溃。
我的 Objective-C 代码尝试测试预期值:
if (1 == [[task valueForKey:@"filetype"] integerValue]) {
// do something
} else {
// do something else
}
API JSON 输出:
{"tclid":"3","filename":null,"filetype":null}
NSDictionary 的 NSLog() 输出是:
task {
filename = "<null>";
filetype = "<null>";
tclid = 3;
}