使用 RestKit 0.20 映射时在 JSON 中向上遍历

Posted

技术标签:

【中文标题】使用 RestKit 0.20 映射时在 JSON 中向上遍历【英文标题】:Traverse upwards in JSON when mapping using RestKit 0.20 【发布时间】:2013-05-26 21:03:00 【问题描述】:

我有以下 JSON 结构:


  "category": "MyCategory"
  "objects": [
     "id": 1, "name": "A" ,
     "id": 2, "name": "B" ,
     "id": 3, "name": "C" 
  ]

我将每个对象映射到一个单独的核心数据实体,如下所示:

RKEntityMapping *mapping = [RKEntityMapping mappingForEntityForName:@"Object" inManagedObjectStore:manager.managedObjectStore];
mapping.identificationAttributes = @[ @"id" ];
[mapping addAttributeMappingsFromDictionary:@ @"name": @"name" ];

如何配置映射以将其共享类别存储在每个对象上?

我想要的是能够像这样在 JSON 中向上遍历:

[mapping addAttributeMappingsFromDictionary:@ @"name": @"name", @"PARENT.category": @"category" ];

【问题讨论】:

en.wikipedia.org/wiki/Depth-first_search 我不明白这个链接有什么帮助? 【参考方案1】:

截至目前(RestKit 0.20.1),没有办法通过使用映射引擎来做到这一点。

未来

正在开发一个新的元数据功能,可以访问父对象:

[mapping addAttributeMappingsFromDictionary:@ @"name": @"name", @"@metadata.parentObject.category": @"category" ];

现在

我正在使用 willMapDeserializedResponseBlock 修改我的反序列化响应。我在 RKObjectManager 上添加了一个类别,以便于修改响应:

https://gist.github.com/gunnarblom/5677324

【讨论】:

以上是关于使用 RestKit 0.20 映射时在 JSON 中向上遍历的主要内容,如果未能解决你的问题,请参考以下文章

使用 RESTKIT 0.20 映射未命名值的 JSON 数组

RestKit 0.20 映射问题(使用来自 API 的 JSON)

Restkit 0.20 对象在获取 json 响应后未映射

Restkit 0.20 JSON 映射以及额外的离线数据

Restkit 0.20 JSON 映射以及额外的离线数据

Restkit 0.20 嵌套对象数组映射问题