RestKit:发送特定的 JSON,请帮助,我已经尝试了我能想到的一切
Posted
技术标签:
【中文标题】RestKit:发送特定的 JSON,请帮助,我已经尝试了我能想到的一切【英文标题】:RestKit: Sending particular JSON, Please help, i've tried everything I can think of 【发布时间】:2012-07-23 17:45:42 【问题描述】:所有...
我整个周末都在这个问题上,但问题仍然存在。我不知道还能做什么,任何帮助将不胜感激。我正在尝试像这样发送 JSON:
"proof":
"name":"fluff",
"media_type":"Photo",
"description":"This is a description"
,
"auth_token":"mphxNcEGJMJyU7iPmaLw"
我不断收到来自 RestKit 的以下异常:
2012-07-23 10:29:17.001 restkittest[8389:707] * 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不是键值编码兼容密钥 auth_token。'
我怀疑这是因为 auth_token 不是我要传递的对象(证明)的一部分,但我不知道如何将 auth_token 与证明一起传递,因为 postObject 只需要一个对象来发布。
...这是我尝试这样做的代码:
@implementation proof
@synthesize name;
@synthesize description;
@synthesize media_type;
@synthesize duration;
@synthesize frequency_id;
@end
@implementation auth_token
@synthesize auth_token;
@end
- (BOOL)createProof:(proof *)proof
BOOL ret = NO;
[self.objectManager postObject:proof usingBlock:^(RKObjectLoader *loader)
loader.delegate = self;
RKObjectMapping *proofMappingAccept = [RKObjectMapping mappingForClass:[proof class]];
[proofMappingAccept mapKeyPath:@"name" toAttribute:@"name"];
[proofMappingAccept mapKeyPath:@"description" toAttribute:@"description"];
[proofMappingAccept mapKeyPath:@"media_type" toAttribute:@"media_type"];
[proofMappingAccept mapKeyPath:@"duration" toAttribute:@"duration"];
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];
[mapping mapKeyPath:@"auth_token" toAttribute:@"auth_token"];
[mapping mapKeyPath:@"proof" toRelationship:@"proof" withMapping:proofMappingAccept];
loader.serializationMapping = [mapping inverseMapping];
loader.objectMapping = mapping;
];
return ret;
【问题讨论】:
【参考方案1】:创建一个 NSDictionary,将您的证明对象作为键“proof”的值,将 auth_token 作为键“auth_token”的对象,并将 loader.sourceObject 设置为此字典。
【讨论】:
以上是关于RestKit:发送特定的 JSON,请帮助,我已经尝试了我能想到的一切的主要内容,如果未能解决你的问题,请参考以下文章
使用 RestKit 发送 POST 不会返回 JSON 内容
RestKit POST 发送 JSON 不包含映射路径/类名
restkit JSON ios - putObject - 发送类型信息
Restkit:multipartFormRequestWithObject 不是 json