ios - 从RestKit中的json中的兄弟节点映射对象
<p><p>JSON</p>
<pre><code>{
"entity": {
"id": 1,
"name": "name"
},
"settings": {
"key": "value"
}
}
</code></pre>
<p><strong>实体模型</strong></p>
<p>属性:id、name</p>
<p>关系:设置(一对一)</p>
<p><strong>设置模型</strong></p>
<p>属性:键</p>
<p>关系:实体(反向关系,一对一)</p>
<p>实体映射</p>
<pre><code>RKEntityMapping *mapping = ) inManagedObjectStore:];
mapping.persistentStore = .persistentStoreCoordinator.persistentStores.firstObject;
mapping.identificationAttributes = @[@"id"];
[mapping addAttributeMappingsFromDictionary:@{
@"id" : @"id",
@"name" : @"name"
}];
</code></pre>
<p>如果设置在 json 响应中的实体内,我会添加这个</p>
<pre><code>[mapping addPropertyMapping:
[RKRelationshipMapping relationshipMappingFromKeyPath:@"settings"
toKeyPath:@"settings" withMapping:]
];
</code></pre>
<p>但我的响应 id 与此不同,那么我应该如何正确映射?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><code>entity</code> 和 <code>settings</code> 都在容器字典中,因此您可以将响应描述符更改为到目前为止不向下钻取,然后使用关键路径来钻取 <code>entity</code> 部分并可以直接访问 <code>settings</code> 部分:</p>
<pre><code>[mapping addAttributeMappingsFromDictionary:@{
@"entity.id" : @"id",
@"entity.name" : @"name"
}];
]];
</code></pre></p>
<p style="font-size: 20px;">关于ios - 从RestKit中的json中的兄弟节点映射对象,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/32088623/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/32088623/
</a>
</p>
页:
[1]