首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RestKit动态嵌套映射

RestKit动态嵌套映射
EN

Stack Overflow用户
提问于 2012-08-11 07:03:19
回答 1查看 823关注 0票数 2

我看到restkit文档相当不错,并且有很多关于对象建模的例子。还有一个嵌套映射的例子,但我发现我的场景与此略有不同。RestKit文档使用以下json格式提供了嵌套属性的示例映射。

来自文档的RestKit示例JSON结构:

代码语言:javascript
复制
{
  "blake": {        
    "email": "blake@restkit.org",        
    "favorite_animal": "Monkey"    
  },    
  "sarah": {
    "email": "sarah@restkit.org",   
    "favorite_animal": "Cat"
  }
}

假设我的json与此有点不同;

我的JSON结构:

代码语言:javascript
复制
{ 
  "id" : 1,
  "author" : "RestKit",
  "blake": {        
    "email": "blake@restkit.org",        
    "favorite_animal": "Monkey"    
  },    
  "sarah": {
    "email": "sarah@restkit.org",   
    "favorite_animal": "Cat"
  }
}

我创建了两个不同的managedobject模型,具有以下属性和许多关系。

我的结构产品和创建者有两个不同的实体来映射上述JSON对象。

代码语言:javascript
复制
Product                                           Creator 

identifier          <------------------- >>       name
author                                            email
                                                  favouriteAnimal

现在,对于产品模型,我的映射应该是这样的;

这就是我如何映射产品实体,映射mapKeyPath:"id“toAttribute:”标识符“;映射mapKeyPath:"author”toAttribute:"author";

但是请注意,映射嵌套的字典属性对我不起作用。//映射mapKeyOfNestedDictionaryToAttribute:@"creators";

现在在作者课上。

我无法找到通常的方法来映射上述JSON结构。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-11 20:03:05

如果您控制web服务,我强烈建议您重新组织响应数据,如下所示:

代码语言:javascript
复制
{
  product: 
  {
    id: 1,
    author: 'RestKit',
    creators: [
      {
        id: 1,
        name: 'Blake',
        email: '...',
        favorite_animal: 'Monkey'
      },
      {
        id: 2,
        name: 'Sarah',
        email: '...',
        favorite_animal: 'Cat'
      }
    ]
  }
}

按照这种结构,您将能够使用RestKit的嵌套映射特性,并且这种关系将正确地反映在对象加载器委托接收的反序列化对象中。RestKit依靠命名和结构标准来简化完成任务所需的代码。您的示例偏离了键值编码标准,因此RK提供了一种与数据格式交互的简单方法。

如果您没有访问权限或无法更改它,我认为您需要用映射映射已知的键值对,并使用自定义评估器执行剩余的赋值。您需要假设未知的键实际上是关联创建者的名称值,它们的关联值包含每个创建器的属性哈希。使用该方法,您可以手动地重构每个对象。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11912731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档