Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 地幔映射嵌套数据结构_Ios_Json - Fatal编程技术网

Ios 地幔映射嵌套数据结构

Ios 地幔映射嵌套数据结构,ios,json,Ios,Json,我有一个稍微复杂的嵌套JSON对象,需要映射到Objective-C类。我认为我需要做的一件事是在映射时跳过JSON中的级别。我的意思是: 我想映射以下JSON字典: NSDictionary *JSONDictionary = @{ @"status" : @"PASSWORD_EXPIRED", @"_embedded" : @{ @"user" : @{ @"id" :

我有一个稍微复杂的嵌套JSON对象,需要映射到Objective-C类。我认为我需要做的一件事是在映射时跳过JSON中的级别。我的意思是:

我想映射以下JSON字典:

NSDictionary *JSONDictionary = @{
         @"status" : @"PASSWORD_EXPIRED",
         @"_embedded" : @{
                 @"user" : @{
                         @"id" : @"00ub0oNGTSWTBKOLGLNR",
                         @"profile" : @{
                                 @"login" : @"isaac@example.org",
                                 @"firstName" : @"Isaac",
                                 @"lastName" : @"Brock",
                                 @"locale" : @"en_US",
                                 @"timeZone" : @"America/Los_Angeles"
                                 }
                         }
                 }
         };


我以前使用以下代码来执行此操作:

+ (NSValueTransformer *)userJSONTransformer {
    return [MTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSDictionary *userDict) {
        return [MTLJSONAdapter modelOfClass:[User class] fromJSONDictionary:userDict error:nil];
    } reverseBlock:^id(User *user) {
        return [MTLJSONAdapter JSONDictionaryFromModel:user];
    }];
}

同样在
+JSONKeyPathsByPropertyKey
中,我认为应该是
@“user”:“\u embedded.user”

请参见
-[MTLJSONAdapter transformerformerModelPropertiesOfclass:
@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
+ (NSValueTransformer *)userJSONTransformer {
    return [MTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSDictionary *userDict) {
        return [MTLJSONAdapter modelOfClass:[User class] fromJSONDictionary:userDict error:nil];
    } reverseBlock:^id(User *user) {
        return [MTLJSONAdapter JSONDictionaryFromModel:user];
    }];
}