Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa-Pasing JSON在null上崩溃_Json_Cocoa_Null_Nsdictionary - Fatal编程技术网

Cocoa-Pasing JSON在null上崩溃

Cocoa-Pasing JSON在null上崩溃,json,cocoa,null,nsdictionary,Json,Cocoa,Null,Nsdictionary,防止我的应用程序崩溃的最佳方法是什么 我使用的JSON服务有时会得到空字段。最好的预防方法是什么 现在,我必须在每个领域都这样做: if(![[[[Dictionary objectForKey:@"option"] objectForKey:@"option"] objectForKey:@"option"] isKindOfClass:[NSNull class]]) 问题是Dic非常复杂,有时我甚至找不到我要找的领域。这是很多验证。试试这个: NSString *tel = [jsonD

防止我的应用程序崩溃的最佳方法是什么

我使用的JSON服务有时会得到空字段。最好的预防方法是什么

现在,我必须在每个领域都这样做:

if(![[[[Dictionary objectForKey:@"option"] objectForKey:@"option"] objectForKey:@"option"] isKindOfClass:[NSNull class]])
问题是Dic非常复杂,有时我甚至找不到我要找的领域。这是很多验证。

试试这个:

NSString *tel = [jsonDictionary valueForKey:@"Telephone"];   
if (tel == (NSString *)[NSNull null]) {
       // do logic here
}

用nil替换NSNull对象


这将防止您的崩溃访问“objectForKey”(不识别选择器)。

请查看我的编辑。我认为我使用的解决方案与您的类似。如果您有嵌套字典…您可以使用keyPath以提高可读性。然后用(NSString*)[NSNull null])==ur keyPath字符串检查它。您还可以NSLog keypath来检查它是否被打印为null/blank或其他内容。它提供:[uuu NSArrayI objectForKey:]:未识别的选择器发送到实例0x7a31af0'