我有一个像这样的JSON结构:
[
{
"id" : "1",
"name" : "Group 1"
},
{
"id" : "2",
"name" : "Group 2"
},
{
"id" : "3",
"name" : "Group 3"
}
]
请注意以[以[结尾]开头。 如何使用RestKit 2将类似JSON的JSON映射到Group对象的数组?
我尝试过经典:
RKObjectMapping* groupMapping = [RKObjectMapping mappingForClass:[Group class]];
[groupMapping addAttributeMappingsFromDictionary:@{
@"id" : @"groupID",
@"name" : @"name"
}];
return groupMapping;
然后我使用RKMappingTest验证映射,但我经常收到错误:
restkit.object_mapping:RKMappingOperation.m:440 Failed transformation of value at keyPath 'id' to representation of type 'NSString': Error Domain=org.restkit.RKValueTransformers.ErrorDomain Code=3002 "Failed transformation of value...
解析JSON后:
_parsedJSON = [RKTestFixture parsedObjectWithContentsOfFixture:@"groups.json"];
_parsedJSON是一个字典数组。
答案 0 :(得分:1)
keyPath'id'的值转换失败
这是因为它无法将数组转换为字符串。
您使用的测试类型无法处理此JSON,因为它不是单个映射,它是多个映射,并且映射类不处理多重性。
当映射运行时,它会在数组上调用valueForKey:
并返回一个数组。它希望调用字典并获取字符串(或数字)。
所以,基本上,只测试单个对象的映射。