JSON
{
"entity": {
"id": 1,
"name": "name"
},
"settings": {
"key": "value"
}
}
实体模型
属性:id、name
关系:设置(一对一)
设置模型
属性:键
关系:实体(反向关系,一对一)
实体映射
RKEntityMapping *mapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([self class]) inManagedObjectStore:[RKManagedObjectStore defaultStore]];
mapping.persistentStore = [RKManagedObjectStore defaultStore].persistentStoreCoordinator.persistentStores.firstObject;
mapping.identificationAttributes = @[@"id"];
[mapping addAttributeMappingsFromDictionary{
@"id" : @"id",
@"name" : @"name"
}];
如果设置在 json 响应中的实体内,我会添加这个
[mapping addPropertyMapping:
[RKRelationshipMapping relationshipMappingFromKeyPath"settings"
toKeyPath"settings" withMapping:[Settings map]]
];
但我的响应 id 与此不同,那么我应该如何正确映射?
entity
和 settings
都在容器字典中,因此您可以将响应描述符更改为到目前为止不向下钻取,然后使用关键路径来钻取 entity
部分并可以直接访问 settings
部分:
[mapping addAttributeMappingsFromDictionary{
@"entity.id" : @"id",
@"entity.name" : @"name"
}];
[mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath"settings" toKeyPath"settings" withMapping:[Settings map]]];
关于ios - 从RestKit中的json中的兄弟节点映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088623/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |