RestKit:将单个对象映射到现有数组

时间:2012-04-24 09:06:41

标签: objective-c ios json core-data restkit

我有一个从RestService获得的以下JSON结构:

{
    "customer": {
        "id": "123456",
        [more attributes ....]
        "items": [
            {
                "id": "1234",
            },
            {
                "id": "2345",
            }
            [more items...]
        ]
    }
}

我使用RestKit成功映射到Core Data。从另一个RestService(我无法更改),然后我获得更多细节到items数组中的一个项目。 JSON答案看起来像

{
    "customer": {
        "id: "123456",
        "item": {
            "id": "1234",
            "name": "foo",
            [other attributes...]
        }
    }
}

现在的问题是:我如何映射第二个答案,以便将单个项目添加到items数组中(如果已经存在,则更新)?

感谢您的任何想法!

2 个答案:

答案 0 :(得分:0)

如果你已经知道如何将JSON映射到核心数据,剩下的只是获取要添加项属性的对象(使用id或其他),然后只需设置它,重写旧的或添加新领域。这只是一般方法

答案 1 :(得分:0)

如果您设置primaryKeyAttribute对象的相应RKManagedObjectMapping,则应该能够按照自己的意愿执行映射。 如果您要发布一些映射代码,实际上更容易帮助您,但这就是我的意思

  1. 为客户对象创建映射,定义所有可能的属性并声明mappingObject.primaryKeyAttribute = @"id"
  2. 使用第一个请求执行映射(或按照您的第一个回答)
  3. 完成第一个映射步骤后,执行第二个请求
  4. 这应该首先创建您想要的客户对象,然后更新它们。