Mapping 异构阵列阵列的Restkit映射
我完全无法映射此JSON数据:Mapping 异构阵列阵列的Restkit映射,mapping,restkit,Mapping,Restkit,我完全无法映射此JSON数据: { "All_Data": [ { "TANTENNE": [ {"ID": 2068, "KIND": "PARABOLE"}, {"ID": 2069, "KIND": "ANTENNE TNT HERTZIENNE"}, {"ID": 2070, "KIND": "ANTENNE COLLECTIVE"}, {"ID": 2071, "KIND": "PARABOL
{
"All_Data": [
{
"TANTENNE": [
{"ID": 2068, "KIND": "PARABOLE"},
{"ID": 2069, "KIND": "ANTENNE TNT HERTZIENNE"},
{"ID": 2070, "KIND": "ANTENNE COLLECTIVE"},
{"ID": 2071, "KIND": "PARABOLE PLATE"}
],
"totalCount": 4,
"success": true
},
{
"success": true,
"FANTENNE": [
{"ID": 1121, "CONNECT": "Autre"},
{"ID": 1122, "CONNECT": "Neovia"},
{"ID": 1124, "CONNECT": "non"},
{"ID": 1125, "CONNECT": "oui"},
{"ID": 1126, "CONNECT": "Patch"},
{"ID": 1127, "CONNECT": "SRTD"},
{"ID": 1128, "CONNECT": "Standard"}
],
"totalCount": 7
},
{
"MANTENNE": [
{"ID": 2065, "STATUS": "NON PRESENTE", "ACTION": 1},
{"ID": 2066, "STATUS": "DEFECTUEUSE", "ACTION": 2},
{"ID": 2067, "STATUS": "2EME ANTENNE POSEE", "ACTION": 3}
],
"totalCount": 3,
"success": true
},
{
"totalCount": 5,
"LANTENNE": [
{"ID": 1139, "LOCATION": "AU SOL"},
{"ID": 1140, "LOCATION": "Balcon"},
{"ID": 1142, "LOCATION": "FACADE"},
{"ID": 1143, "LOCATION": "Toit"},
{"ID": 2064, "LOCATION": "JARDIN"}
],
"success": true
},
],
"success": true
}
假设我有核心数据实体(以及所有单个叶对象的关联类(TANTENNE
,FANTENNE
,MANTENNE
,LANTENNE
)
当我收到上述JSON时,我想插入4个TANTENNE
、7个FANTENNE
、3个MANTENNE
、5个LANTENNE
我对这些类有单独的映射,例如:
RKManagedObjectMapping *mapping = [RKManagedObjectMapping mappingForEntityWithName:@"TANTENNE" inManagedObjectStore:self.objectStore];
mapping.primaryKeyAttribute = @"id";
[mapping mapKeyPathsToAttributes:
@"ID", @"id",
@"KIND", @"kind",
nil];
[self setObjectMapping:mapping forKeyPath:@"TANTENNE"];
这是在映射提供程序初始化时调用的
[…] T restkit.object_mapping:RKObjectMapper.m:293 Examining keyPath 'TANTENNE' for mappable content...
[…] D restkit.object_mapping:RKObjectMapper.m:303 Found unmappable value at keyPath: TANTENNE
如果我使用“All_Combo.tantene”键路径添加映射,那么RestKit稍后在尝试将完整数组映射到一个目标对象时崩溃
这是RESTKit0.10版本(我没有移动到0.20版本,因为所有的魔法唱片都消失了,我经常使用它)
感谢您提供的见解。我想到了一些可能会破坏您的映射的东西 1) 根密钥路径 通过
mapping.rootKeyPath=@“All_Data”
vor每个映射配置根密钥路径,以确保密钥路径“tantene”的映射不会在返回的JSON的根中使用该值
2) 数组内字典
由于“TANTENNE”的这些值是在字典中发送的,因此可能需要使用额外的确认。使用
[mapping-mapping-relationship:@“tantene”with-mapping:mapping]将“tantene”数组的根连接到字典中的值代码>-也许它能工作 这方面有进展吗?我遇到了同样的事情。