しばらく RestKit を使用していましたが、最新バージョンでは一部の API が変更され、単純な JSON を解析できなくなりました。
私が持っているペイロードは次のとおりです。
{
"result":true,
"items":[
{
"id":"1",
"receiver":"11011101"
},
{
"id":"2",
"receiver":"11011101"
}
]
}
「items」ディクショナリの内容を、作成したオブジェクト Conversation のインスタンスとして解析するにはどうすればよいですか?
以下のコードを使用しても機能しません (オブジェクトはマップされません)。
RKObjectMapping* conversationMapping = [RKObjectMapping mappingForClass:[Conversation class]];
[conversationMapping mapKeyPath:@"id" toAttribute:@"id"];
[conversationMapping mapKeyPath:@"receiver" toAttribute:@"receiver"];
[[RKObjectManager sharedManager].mappingProvider setMapping:conversationMapping forKeyPath:@"items"];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/getConversations" delegate:self];
会話クラス
@interface Conversation : NSObject {
NSString *id;
NSString *receiver; }
+ (void)objectMapping;
@property (nonatomic, strong) NSString *id; @property (nonatomic, strong) NSString *receiver;
@end
@implementation Conversation
@synthesize id;
@synthesize receiver;
+ (void)objectMapping {
RKObjectMapping* conversationMapping = [RKObjectMapping mappingForClass:[Conversation class]];
[conversationMapping mapKeyPath:@"id" toAttribute:@"id"];
[conversationMapping mapKeyPath:@"receiver" toAttribute:@"receiver"];
[[RKObjectManager sharedManager].mappingProvider setMapping:conversationMapping forKeyPath:@"items"];
}
@end