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 与此不同,那么我应该如何正确映射?
Best Answer-推荐答案 strong>
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/
|