dchohfi / KeyValueObjectMapping

Automatic KeyValue Object Mapping for Objective-C, parse JSON/plist/Dictionary automatically
http://dchohfi.com/
MIT License
602 stars 90 forks source link

Nice to have: DCDictionaryMapping #60

Open albsala opened 9 years ago

albsala commented 9 years ago

It would be nice to have a class like "DCArrayMapping" for NSDictionary, because I have a JSON like this:

{
    "_id":12345,
    "localizedContent":{
        "en":{
            "name":"english name"
        },
        "es":{
            "name":"spanish name"
        }
    }
}

... with an undetermined number of languages, so I'm trying to map it to an object like this:

@interface MyLocalizedContent : NSObject

@property (nonatomic, strong) NSString *name;

@end

@interface MyObject : NSObject

@property (nonatomic, strong) NSNumber *identifier;
@property (nonatomic, strong) NSDictionary *localizedContent;

@end

... and I don't know how to do it without this "DCDictionaryMapping".

albsala commented 9 years ago

After hours of tests :) I have solved it using DCCustomParserBlock but it would nice to have a DCDictionaryMapping anyway.

BTW: I have lost so much time figuring out why this didn't work:

DCCustomParser *customParser = [[DCCustomParser alloc] initWithBlockParser:parserBlock
                                                          forAttributeName:@"localizedContent"
                                                        onDestinationClass:[MyObject class]];

until i tried this:

DCCustomParser *customParser = [[DCCustomParser alloc] initWithBlockParser:parserBlock
                                                          forAttributeName:@"_localizedContent"
                                                        onDestinationClass:[MyObject class]];
d370urn3ur commented 9 years ago

Wow thanks man I lost probably 3 hours trying to figure out why DCCustomParser didn't work. we need docs on DCCustomParser!