通常解析“”和null并检查iphone中的空字段

时间:2012-08-02 16:28:44

标签: iphone json ios5

以下是我在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;
}

3 个答案:

答案 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"];
    }