菜鸟教程小白 发表于 2022-12-12 16:05:15

ios - 从RestKit中的json中的兄弟节点映射对象


                                            <p><p>JSON</p>

<pre><code>{
   &#34;entity&#34;: {
      &#34;id&#34;: 1,
      &#34;name&#34;: &#34;name&#34;
   },
   &#34;settings&#34;: {
      &#34;key&#34;: &#34;value&#34;
   }
}
</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 = @[@&#34;id&#34;];
[mapping addAttributeMappingsFromDictionary:@{
                                              @&#34;id&#34; : @&#34;id&#34;,
                                              @&#34;name&#34; : @&#34;name&#34;
                                              }];
</code></pre>

<p>如果设置在 json 响应中的实体内,我会添加这个</p>

<pre><code>[mapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@&#34;settings&#34;
      toKeyPath:@&#34;settings&#34; 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:@{
                                          @&#34;entity.id&#34; : @&#34;id&#34;,
                                          @&#34;entity.name&#34; : @&#34;name&#34;
                                          }];

]];
</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]
查看完整版本: ios - 从RestKit中的json中的兄弟节点映射对象