I have the same problem. The sever JSON response contains NULL / null. Something like that:
"result":[
{
"id":"44",
"message":null,
}]
I created a class category NSNull. Then methods NSStringthat throw exceptions are added .
NSNull + JSON.h file:
#import <UIKit/UIKit.h>
@interface NSNull(JSON)
@end
NSNull + JSON.m file:
@implementation NSNull (JSON)
- (NSUInteger)length { return 0; }
- (NSInteger)integerValue { return 0; };
- (float)floatValue { return 0; };
- (NSString *)description { return @"0(NSNull)"; }
- (NSArray *)componentsSeparatedByString:(NSString *)separator { return @[]; }
- (id)objectForKey:(id)key { return nil; }
- (BOOL)boolValue { return NO; }
- (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet{
NSRange nullRange = {NSNotFound, 0};
return nullRange;
}
@end
This way, I do not need to check for NULL in every variable.