JSON配列をRestKitにマッピングする際に問題があります。JSON ファイルは次のようになります。
{"issuelist":[
{
"issue":[
{
"id":1,
"beschreibung":"",
"name":"Test1"
},
{
"id":2,
"beschreibung":"",
"name":"Test2"
}
]
}
]}
「問題」の配列に興味があります。これは、1 つの問題に対する私のマッピングです。
RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class] usingBlock:^(RKObjectMapping *mapping) {
[mapping mapAttributes:@"name", @"beschreibung", nil];
[mapping mapKeyPathsToAttributes:
@"id", @"identifier",
nil];
}];
そして、これがObjectMappingのセットアップ方法です
RKObjectMappingProvider *omp = [RKObjectManager sharedManager].mappingProvider;
RKObjectMapping *issueMapping = [Issue mapping];
[omp addObjectMapping:issueMapping];
[omp setObjectMapping:issueMapping forKeyPath:@"issuelist.issue"];
残念ながら、これは機能しません。次のようなログ出力が得られます。
T restkit.object_mapping:RKObjectMappingOperation.m:152 keyPath 'name' で変換可能な値が見つかりました。タイプ「__NSArrayI」から「NSString」への変換 W restkit.object_mapping:RKObjectMappingOperation.m:232 keyPath 'name' で値の変換に失敗しました。「__NSArrayI」から「NSString」への変換方法がない T restkit.object_mapping:RKObjectMappingOperation.m:339 keyPath 'name から keyPath 'name' への属性値のマッピングをスキップしました -- 値は変更されていません ((null)) T restkit.object_mapping:RKObjectMappingOperation.m:322 属性値 keyPath 'beschreibung' を 'beschreibung' にマッピングします T restkit.object_mapping:RKObjectMappingOperation.m:152 keyPath 'beschreibung' で変換可能な値が見つかりました。タイプ「__NSArrayI」から「NSString」への変換 W restkit.object_mapping:RKObjectMappingOperation.m:232 keyPath 'beschreibung' で値の変換に失敗しました。「__NSArrayI」から「NSString」への変換方法がない T restkit.object_mapping:RKObjectMappingOperation.m:339 keyPath 'beschreibung から keyPath 'beschreibung' への属性値のマッピングをスキップしました -- 値は変更されていません ((null)) T restkit.object_mapping:RKObjectMappingOperation.m:322 属性値 keyPath 'id' を 'identifier' にマッピングします T restkit.object_mapping:RKObjectMappingOperation.m:152 keyPath 'id' で変換可能な値が見つかりました。タイプ「__NSArrayI」から「NSString」への変換 W restkit.object_mapping:RKObjectMappingOperation.m:232 keyPath 'id' で値の変換に失敗しました。「__NSArrayI」から「NSString」への変換方法がない T restkit.object_mapping:RKObjectMappingOperation.m:339 keyPath 'id から keyPath 'identifier' への属性値のマッピングをスキップしました -- 値は変更されていません ((null)) D restkit.object_mapping:RKObjectMappingOperation.m:624 マッピング操作が正常に完了しました...
RestKit は、問題の配列を作成するのではなく、アレイ全体を 1 つの問題にマップしようとしているようです。これを修正するには、マッピングをどのように変更する必要がありますか?
ご協力いただきありがとうございます!