jimbob jimbob - 3 months ago 10
iOS Question

How to remove a null value from NSDictionary

I have a JSON Feed:

{
"count1" = 2;
"count2" = 2;
idval = 40;
level = "<null>";
"logo_url" = "/assets/logos/default_logo_medium.png";
name = "Golf Club";
"role_in_club" = Admin;
}


The problem is the
"<null>"
that I cannot figure out how to remove from the NSDictionary before saving it to NSUserDefaults.

Please help me solve this issue. Thankyou!

Answer

Iterate through the dictionary and look for any null entries and remove them.

NSMutableDictionary *prunedDictionary = [NSMutableDictionary dictionary];
for (NSString * key in [yourDictionary allKeys])
{
    if (![[yourDictionary objectForKey:key] isKindOfClass:[NSNull class]])
        [prunedDictionary setObject:[yourDictionary objectForKey:key] forKey:key];
}

After that, prunedDictionary should have all non-null items in the original dictionary.