当CoreData实体是JSON集合的一部分时,RestKit JSON映射

当CoreData实体是JSON集合的一部分时,RestKit JSON映射,json,core-data,restkit,Json,Core Data,Restkit,我想一定有解决办法,但我还没有找到 我收到此结构的JSON响应: { description: SomeString, type: ACTIVITY, timestamp: 1224043200000, creationTime: 1224043200000, userIdentification: 1111-2222-3333, value: 2000 } “活动”是我的CoreData实体的名称。如何将这个JSON映射到我的数据模型?到目前为

我想一定有解决办法,但我还没有找到

我收到此结构的JSON响应:

{
    description: SomeString,
    type: ACTIVITY,
    timestamp: 1224043200000,
    creationTime: 1224043200000,
    userIdentification: 1111-2222-3333,
    value: 2000
}
“活动”是我的CoreData实体的名称。如何将这个JSON映射到我的数据模型?到目前为止,我找到的所有示例都假设JSON类似于此格式:

{
    activity: {
        description: SomeString,
        timestamp: 1224043200000,
        creationTime: 1224043200000,
        userIdentification: 1111-2222-3333,
        value: 2000
    }
}

我假设您有多个可能不同的
类型
s,每个类型都有一个关联实体

为每个实体定义映射。不要将这些直接连接到响应描述符。相反,使用块(
setObjectMappingForRepresentationBlock:
,或匹配器)创建一个实例,该块检查传入数据的类型并返回适当的映射


如果您的响应在一个响应中包含多个不同的
类型
s,则您可能希望将上述内容与KVC验证相结合,以拒绝使用错误类型创建的任何对象。您还需要一些不同的响应描述符或其他东西来应用每个不同的实体映射…

您可以查看github上RestKit repo的ObjectMapping部分。要映射json响应,可以使用nil键路径,如下所述


正如Wain所说,您应该使用动态映射来决定哪个类将映射到您正在接收的json对象,这取决于特定属性的值。这里解释了如何使用动态映射:。我知道已经很晚了,但这可能会对将来的人有所帮助。

这看起来正是我需要的。如果
RKDynamicMapping
解决了我的问题,我会看一看,然后再回来找你。