提问人:user6631314 提问时间:7/31/2018 最后编辑:rmaddyuser6631314 更新时间:7/31/2018 访问量:97
IOS/Objective-C:针对 nil 和 null 的 JSON 响应测试
IOS/Objective-C: JSON response testing for nil and null
问:
我收到一些 JSON,其中包含结果、响应,如果查询成功,则表示成功,则表示成功。如果查询不成功,则“成功的 JSON 设置”中没有值。我想做的是测试 1 的成功值,但是,我检测此问题的代码会引发异常。
NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSDictionary *jsonresponse = jsonResults[@"response"];
if (![jsonResults isKindOfClass:[NSNull class]]
&&![jsonResults[@"response"]isKindOfClass:[NSNull class]]
&&![jsonResults[@"response"][@"success"]isKindOfClass:[NSNull class]]){
//CODE BREAKS BEFORE GETTING HERE
NSLog(@"got here");
这是登录到控制台时失败时的 JSON 的样子:
{
code = 400;
error = "0(NSNull)";
response = "Bad Request-No id found";
}
我该如何为一组成功的值进行测试,而不会在收到上述内容时引发异常?
提前感谢您的任何建议。
答:
0赞
GeneCode
7/31/2018
#1
与其检查错误字符串或响应,不如检查回复代码(即 400、200 等)。标准代码列表可在此处获得: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
评论
0赞
GeneCode
8/1/2018
即使手动,您也应该使用标准代码。基于代码检测错误是要走的路,而不是检测将来可能更改的字符串。
评论
llb