[英]How to handle null response of web services
我的应用程序使用PHP Web服务。 但是某些响应字段为null,我无法处理该null值。
这是我的回应
[
{
ID: 1,
ChapterID: 0,
Code: "FLGSV01",
Number: "0",
Text: "Swedish Flag",
VersionChanged: 1,
LastChange: "Jun 26 2013 12:00:00:000AM",
Type: "img",
info: null
}
]
我已经在我的字典中解析了这个回复,就像这样
tmpDictn : {
ID = 1,
ChapterID = 1;
Code = SECH1W;
ID = 2;
LastChange = "Jun 26 2012 12:00:00:000AM";
Number = 001;
Text = "ett
\n";
Type = img;
VersionChanged = 1;
info = "<null>";
}
现在,如您所见,信息值是Null,如果我尝试以字符串形式解析它,则我的字符串将是<null>
但我只希望它显示空字符串,而不是它。
我已经尝试过此代码,但没有运气
if ([tmpDictn objectForKey:@"info"]!=nil) {
info = [tmpDictn objectForKey:@"info"];
}
这段代码给了我NSNull
错误
if ([[tmpDictn objectForKey:@"info"] isEqualToString:@"<null>"]) {
info = [tmpDictn objectForKey:@"info"];
}
那么我该如何处理这个空值呢?
与[NSNull null]
比较
从文档
NSNull类定义一个单例对象,该对象用于表示集合对象中的空值(不允许使用nil值)。
if([tmpDictn objectForKey:@"info"] == [NSNull null])
{
info = nil;
}
else
{
info = [tmpDictn objectForKey:@"info"]
}
info = [tmpDictn objectForKey:@"info"];
if(info == null)
{
//Handle null
}
if ([[tmpDictn objectForKey:@"info"] isKindOfClass:[NSNull class]])
{
info = [tmpDictn objectForKey:@"info"];
}
尝试使用[NSNull null]
if ([tmpDictn objectForKey:@"info"]!=[NSNull null]) {
info = [tmpDictn objectForKey:@"info"];
} else {
//Handle null value
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.