以下是我在NSDictionary
中获得的JSON输出。
有人能说一种方法来识别""
值和空值吗?我正在尝试检查值是否为空,并将其分配给UIlabel
。
User = {
address = "";
birthday = "<null>";
gender = 0;
"mobile_number" = "<null>";
name = ambili;
"phone_number" = "";
picture = "http://lb.fo********inds.com/images/users/profile_pics/no_picture.jpg";
};
status = OK;
}
答案 0 :(得分:0)
您可以检查字符串是否与另一个字符串相等:
if ([myString isEqualToString:@""] || [myString isEqualToString:@"<null>"]) {
NSLog(@"empty or null");
}
答案 1 :(得分:0)
由于你多次使用它,它将是类扩展的一个很好的候选者。使用类扩展时,可以使用以下自定义函数:
if ([birthday hasJSONData])
{
// Do something
}
为此,您需要创建一个新的NSString类扩展,如下所示:
标头文件(NSString + Kurian_Utils.h):
#import <Foundation/Foundation.h>
@interface NSString (Kurian_Utils)
- (BOOL)hasJSONData;
@end
实施文件(NSString + Kurian_Utils.m):
#import "NSString+Kurian_Utils.h"
@implementation NSString (Kurian_Utils)
// If the NSString is nil, calling this function will return NO because it is sent to nil.
- (BOOL)hasJSONData
{
if ([self length] == 0)
{
return NO;
}
if ([self localizedCaseInsensitiveCompare:@"<null>"] == NSOrderedSame)
{
return NO;
}
return YES;
}
@end
然后只在您要使用#import "NSString+Kurian_Utils.h"
的文件中hasJSONData
。
答案 2 :(得分:0)
最后我找到了一个简单的方法,它运作良好。我很高兴与大家分享。
id phoneString = [Contentds valueForKeyPath:@"User.phone"];
if (phoneString != [NSNull null])
{
label.text=[Contentds valueForKeyPath:@"User.phone"];
}