Adds JSONHelper methods to read arrays.

This commit is contained in:
2020-09-17 12:37:03 -07:00
parent 81726e9554
commit 74745f6d54
3 changed files with 126 additions and 1 deletions

View File

@@ -22,6 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
+(BOOL)readBoolFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(BOOL)defaultValue;
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key;
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(NSDictionary* _Nullable)defaultValue;
+(NSArray*)readArrayFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key;
+(NSArray*)readArrayFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(NSArray* _Nullable)defaultValue;
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSString* _Nullable)defaultValue;
@@ -33,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN
+(BOOL)readBoolFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(BOOL)defaultValue;
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSDictionary* _Nullable)defaultValue;
+(NSArray*)readArrayFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(NSArray*)readArrayFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSArray* _Nullable)defaultValue;
@end

View File

@@ -100,6 +100,19 @@ BOOL coerceObjectToBool(NSObject *object, BOOL defaultValue) {
return defaultValue;
}
+(NSArray*)readArrayFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key {
return [JSONHelper readArrayFromDictionary:dictionary forKey:key withDefaultValue:nil];
}
+(NSArray*)readArrayFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(NSArray* _Nullable)defaultValue {
NSObject *object = [dictionary objectForKey:key];
if ([object isKindOfClass:[NSArray class]]) {
return (NSArray*)object;
}
return defaultValue;
}
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index{
return [JSONHelper readStringFromArray:array forIndex:index withDefaultValue:nil];
}
@@ -149,4 +162,17 @@ BOOL coerceObjectToBool(NSObject *object, BOOL defaultValue) {
return defaultValue;
}
+(NSArray*)readArrayFromArray:(NSArray*)array forIndex:(NSUInteger)index {
return [JSONHelper readArrayFromArray:array forIndex:index withDefaultValue:nil];
}
+(NSArray*)readArrayFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSArray* _Nullable)defaultValue {
NSObject *object = [array objectAtIndex:index];
if ([object isKindOfClass:[NSArray class]]) {
return (NSArray*)object;
}
return defaultValue;
}
@end