我有一个类似
的JSON结构{
"objects":{
"person":[
{
"id":"1",
"name":"my name"
"contacts":{
"address":{
"id":"1",
"street":"mystreet",
"country":"mycountry"
},
"email":{
"id":"1",
"emailAddress":"hello@hello.com"
}
},
},
...
我正试图通过以下方式进行映射:
[personMapping mapKeyPath:@"contacts.address" toRelationship:@"address" withMapping:addressMapping];
只要联系人存在,这种方法就可以正常运行。但如果没有地址/电子邮件,则不会发送此元素,这会导致RKMappingOperation#applyRelationshipMappings
中的异常:value = [self.sourceObject valueForKeyPath:relationshipMapping.sourceKeyPath];
现在,我的解决方法是使用@try...@catch
,但我希望有更好的解决方案......
非常感谢!
编辑:如果根本没有发送任何联系人,则会发生异常;然后,JKDictionary看起来像这样(再次在RKMappingOperation#applyRelationshipMappings
中):
{
contacts = "";
name = myName;
id = 1;
...
}
答案 0 :(得分:0)
也许你应该在实例化时正确初始化对象?也许从零开始你的所有属性;然后当你去填写属性;在提交(或映射或其他)之前,请检查属性值的数据完整性。