Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
在iOS、PHP和JSON中使用SQL Server的空值_Php_Objective C_Ios_Json_Sql Server 2008 - Fatal编程技术网

在iOS、PHP和JSON中使用SQL Server的空值

在iOS、PHP和JSON中使用SQL Server的空值,php,objective-c,ios,json,sql-server-2008,Php,Objective C,Ios,Json,Sql Server 2008,我正在设计的应用程序使用从SQLServer2008数据库中选择的PHP脚本返回的JSON对象。我遇到的问题是,当数据库缺少某个字段的值时,它在JSON中返回为null。然后,当应用程序解析JSON时(我使用的是NSJSONSerialization),字典包含一个值。使用此字典填充我的视图时,应用程序遇到空值时崩溃 绕过这个问题最简单的方法是什么?我想我可以在PHP以JSON的形式返回数据之前用空字符串替换所有空字符串;然而,这可能不是最好的解决办法。有没有一种简单的方法可以签入iOS 谢谢您

我正在设计的应用程序使用从SQLServer2008数据库中选择的PHP脚本返回的JSON对象。我遇到的问题是,当数据库缺少某个字段的值时,它在JSON中返回为null。然后,当应用程序解析JSON时(我使用的是NSJSONSerialization),字典包含一个值。使用此字典填充我的视图时,应用程序遇到空值时崩溃

绕过这个问题最简单的方法是什么?我想我可以在PHP以JSON的形式返回数据之前用空字符串替换所有空字符串;然而,这可能不是最好的解决办法。有没有一种简单的方法可以签入iOS


谢谢您的帮助。

要检查空值,您需要查看对象是否为空


有没有办法检查整本字典?或者我必须使用key拉出一个对象,然后检查吗?您必须检查每个对象,您可以在解析json后立即检查每个对象,并用默认值删除/替换,或者将
NSNull
处理添加到使用的类中并显示值。这非常糟糕!我知道没有其他方法,但我认为必须显式检查空值。只是想知道为什么IOS不认为NULL是像Android一样的零!问题是如果我们执行NSArray*array=[dict objectForKey:@“key”];值为null,它将NSNull对象分配给数组,我们不能使用条件if(array&&[array count]>0)作为应用程序将崩溃,因为NSNull不是nil,并且NSNull不响应count!!!最后,我在代码中为每一个宏都编写了宏。
id object = [dict objectForKey:@"key"];
if(object == [NSNull null])
{
    //Handle null value
}