I have a Json object & respective models -
{
"type": "flight",
"senderid": "101",
"message":
{
"origin": "Bangalore",
"destination": "Paris",
"start_date": "21-04-2017",
"end_date": "27-04-2017",
"price": "300",
"currency": "$",
"fare_rules": "This is the fare rules text.",
"refundable": "true",
"check_in_baggage": "30 kg",
"legs": [
{
"index": "1",
"airline_id": "2003",
"flight_number": "TK 721 T",
"name": "Turkish Airline",
"logo": "http://turkish.com/logo.png",
"origin": "Bangalore",
"destination": "Chennai",
"start_date": "21-04-2017",
"end_date": "21-04-2017",
"start_time": "06.20 pm",
"end_time": "8.15 pm",
"journey_time": "2h 30m",
"is_next": "true",
"layover": "3 hours"
},
{
"index": "2",
"airline_id": "4003",
"flight_number": "JT 021",
"name": "Jet Airways",
"logo": "http://jetairways.com/logo.png",
"origin": "Chennai",
"destination": "Paris",
"start_date": "21-04-2017",
"end_date": "21-04-2017",
"start_time": "11.20 pm",
"end_time": "2.15 am",
"journey_time": "3h 10m",
"is_next": "false",
"layover": ""
}
]
}
}
Mapping code -
DCParserConfiguration *config = [DCParserConfiguration configuration];
DCArrayMapping *mapper = [DCArrayMapping mapperForClassElements:[TRChatFlightLegModel class] forAttribute:@"legs" onClass:[TRChatFlightMessageModel class]];
[config addArrayMapper:mapper];
DCKeyValueObjectMapping *parser = [DCKeyValueObjectMapping mapperForClass:[TRChatTypeFlightsModel class] andConfiguration:config];
TRChatTypeFlightsModel *chatTextModel = [parser parseDictionary:message.data.message];
And my model classes looks like this:
@interface TRChatTypeFlightsModel : NSObject
@property (strong, nonatomic) NSString *type;
@property (assign, nonatomic) NSInteger senderid;
@property (strong, nonatomic) TRChatFlightMessageModel *message;
@end
@interface TRChatFlightMessageModel : NSObject
@property (strong, nonatomic) NSString *origin;
@property (strong, nonatomic) NSString *destination;
@property (strong, nonatomic) NSString *start_date;
@property (strong, nonatomic) NSString *end_date;
@property (strong, nonatomic) NSString *fare_rules;
@property (strong, nonatomic) NSArray *flight_legs;
@interface TRChatFlightLegModel : NSObject
@property (strong, nonatomic) NSString *index;
@property (strong, nonatomic) NSString *airline_id;
@property (strong, nonatomic) NSString *is_next;
@property (strong, nonatomic) NSString *layover;
@end
I'm getting value for chatTextModel.message.origin but getting nil
for chatTextModel.message.flight_legs. Any suggestions?