0
我有一個稍微複雜的嵌套JSON對象,我需要映射到Objective-C類。有人認爲我需要做的是在映射時跳過JSON中的級別。這裏是我的意思是:地幔映射嵌套數據結構
我要地圖以下JSON字典:
NSDictionary *JSONDictionary = @{
@"status" : @"PASSWORD_EXPIRED",
@"_embedded" : @{
@"user" : @{
@"id" : @"00ub0oNGTSWTBKOLGLNR",
@"profile" : @{
@"login" : @"[email protected]",
@"firstName" : @"Isaac",
@"lastName" : @"Brock",
@"locale" : @"en_US",
@"timeZone" : @"America/Los_Angeles"
}
}
}
};
到
@interface Authentication : MTLModel <MTLJSONSerializing>
@property (strong, nonatomic) NSDate* expiresAt;
@property (strong, nonatomic) NSString* status;
@property (strong, nonatomic) NSString* relayState;
@property (strong, nonatomic) NSString* sessionToken;
@property (strong, nonatomic) NSString* stateToken;
//Embeded Resources
@property (strong, nonatomic) User* user;
@end
正如你可以看到我不是創造「_embeded」的對象。我跳過它並將用戶映射到用戶對象。
這可以實現嗎?如果是這樣如何?
我已經在執行試過,但沒有奏效:
@implementation Authentication
+ (NSDictionary*)JSONKeyPathsByPropertyKey {
return @{
@"expiresAt" : @"expiresAt",
@"status" : @"status",
@"sessionToken" : @"sessionToken",
@"stateToken" : @"stateToken",
@"relayState" : @"relayState",
@"user" : @"_embeded/user",
};
}
+ (NSValueTransformer *)userJSONTransformer {
return [NSValueTransformer mtl_JSONDictionaryTransformerWithModelClass:User.class];
}
@end
工作正常!你達人。非常感謝。 – Chandra
請參閱' - [MTLJSONAdapter transformerForModelPropertiesOfClass:]''。 – Netsu