gpt4 book ai didi

ios - 我如何使用 iOS 中的 RestKit 处理在没有 rootkey 的情况下发送 JSON 的 RESTful 服务器?

转载 作者:行者123 更新时间:2023-11-29 04:18:42 25 4
gpt4 key购买 nike

我成功 POST 到 RESTful 服务,但它发回以下 json 响应;

 T restkit.network:RKObjectLoader.m:202 bodyAsString: {"Successful":true,"Message":"We have received 9138 message(s)","Data":null}

(来自 RestKit 调试器/记录器)。正如您所看到的,该 JSON 中没有根 key 。现在,当 RestKit 尝试使用以下代码映射此内容时,它会发出提示;

RKObjectMapping *serverResponseMapping = [RKObjectMapping mappingForClass:[ServerReply class]];
[serverResponseMapping setRootKeyPath:@""]; //tried without this and with a value but no change!
[serverResponseMapping mapKeyPath:@"Success" toAttribute:@"success"];
[serverResponseMapping mapKeyPath:@"Message" toAttribute:@"message"];
[serverResponseMapping mapKeyPath:@"Data" toAttribute:@"data"];
[[manager mappingProvider] addObjectMapping:serverResponseMapping];

当 Restkit 尝试映射此内容时,我收到以下错误;

W restkit.object_mapping:RKObjectMapper.m:87 Adding mapping error: Could not find an object mapping for keyPath: ''

只是为了强调-[serverResponseMapping setRootKeyPath:@""]; //尝试没有这行代码,也有一个值但没有变化!

谁能告诉我如何解决这个问题,因为我认为我无法更改服务器?

谢谢

最佳答案

终于解决了这个问题,所以我想如果其他人发现它有用的话我会更新它。如果使用 RKObjectManager postObject 消息的 block 构造,则可以在 ObjectLoader 中指定返回消息的接收对象;

[manager postObject:thePostMsgObj usingBlock:^(RKObjectLoader *loader){
loader.targetObject = theResponseObj;
loader.delegate = self;
loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[response Class]];
}];

关于ios - 我如何使用 iOS 中的 RestKit 处理在没有 rootkey 的情况下发送 JSON 的 RESTful 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13312247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com