在 RESTkit 中为 JSON 数组中的对象指定特定映射?

发布于 2025-01-05 12:31:54 字数 483 浏览 1 评论 0原文

当我请求 UserProfile 对象列表时,我从 django-rest-framework 收到此 JSON:

[
    {
        "gender": 1, 
        "show_gender": true, 
        "show_real_name": true
    }, 
    {
        "gender": 2, 
        "show_gender": true, 
        "show_real_name": true
    }
]

但我不知道如何使用 Restkit 配置我的映射。 Restkit 似乎需要一个 字典而不是列表,因为它似乎使用字典的键作为“KeyPath”来标识必要的映射。有没有办法手动指定接收对象的映射?

I'm receiving this JSON from django-rest-framework when I request a list of UserProfile objects:

[
    {
        "gender": 1, 
        "show_gender": true, 
        "show_real_name": true
    }, 
    {
        "gender": 2, 
        "show_gender": true, 
        "show_real_name": true
    }
]

But I'm at loss how to configure my mappings with Restkit. Restkit seems to expect a dictionary instead of a list, since it seems to use the dictionary's keys as "KeyPath" to identify the necessary mappings. Is there a way to specify a mapping for the received objects manually?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

メ斷腸人バ 2025-01-12 12:31:54

知道了!

// define a mapping
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[ERUser class]];
[userMapping mapAttributes:
 @"gender",
 @"show_gender",
 @"show_real_name",
 nil];

// add the mapping anonymously
[objectManager.mappingProvider addObjectMapping:userMapping];

// tell the mapping provider which mapping to use
RKObjectMapping* articleMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[ERUser class]];
[objectManager loadObjectsAtResourcePath:@"/users" objectMapping:articleMapping delegate:self];

Got it!

// define a mapping
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[ERUser class]];
[userMapping mapAttributes:
 @"gender",
 @"show_gender",
 @"show_real_name",
 nil];

// add the mapping anonymously
[objectManager.mappingProvider addObjectMapping:userMapping];

// tell the mapping provider which mapping to use
RKObjectMapping* articleMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[ERUser class]];
[objectManager loadObjectsAtResourcePath:@"/users" objectMapping:articleMapping delegate:self];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文