0

如果我有值存在,我只能执行 objectAtIndex 时遇到问题。

我的代码:

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
NSDictionary *results = [json objectForKey:@"d"];

NSString *error = [results objectForKey:@"error"];
NSLog(@"results::%@", [results objectForKey:@"agency"]);
if ( results !=nil)
{
    item = [[results objectForKey:@"agency"] objectAtIndex:0];
    codeItem = [[results objectForKey:@"agency"] objectAtIndex:1];
}

如果我在 json 中有数据但如果 json 像这样返回:

{"d":{"success":true,"agency":[]}}

它崩溃了,我知道我的 if 语句是错误的,但我不知道正确的方法来完成这项工作。

4

1 回答 1

1

只需在获取对象之前检查值:

NSArray *agencyItem = [results objectForKey:@"agency"];

if ([agencyItem count] > 1)
{
    codeItem = [agencyItem objectAtIndex:1];
}
于 2013-10-08T14:50:03.210 回答