如何在一个数组上解析下面的“选择”意味着当我在数组中得到“id”时,所有id值108,109 ....在数组的第一个索引中,但这里是选择中的5个值。所以如何解析它
choices = (
{
id = 108;
label = Distributor;
},
{
id = 109;
label = "Clinical Lab";
},
{
id = 110;
label = Researcher;
},
{
id = 111;
label = "Current Customer";
},
{
id = 112;
label = "Past Customer";
}
);
答案 0 :(得分:2)
单步进入兄弟
如果您的数组是NSMutableArray
,请使用
NSArray *resultArray = [[NSArray arrayWithArray:temp] valueForKeyPath:@"id"]
如果简单NSArray
,则使用
NSArray *resultArray = [jsonArray valueForKeyPath:@"id"]
答案 1 :(得分:1)
您可以使用fast enumeration
。
NSMutableArray *resultArray = [[NSMutableArray alloc] initWithCapacity:0];
// JSONDict is your JSON dict
for (NSDictionary *aDict in JSONDict[@"choices"]) {
[resultArray addObject:aDict[@"id"]];
}
NSLog(@"%@", resultArray);
<强>输出:强>
( 108, 109, 110, 111, 112 )
答案 2 :(得分:0)
尝试这样,
NSMutableArray *idArray=[[NSMutableArray alloc]init];
for(int i=0;i<[jsonArray count];i++)
[idArray addObject:[[jsonArray objectAtIndex:i] valueForKey:@"id"]];
NSLog(@"%@",idArray);
这里你将获得idArray中的所有值。
答案 3 :(得分:0)
如果我理解你的问题,那么你可以试试这个代码来获取数组中的ID:
NSMutableArray *arr = [[NSMutableArray alloc] init];
for (int i = 0;i<[choices count];i++)
{
[arr addObject:[[choices objectAtIndex:i] objectForKey:@"id"]];
}
NSLog(@"ID array : %@",arr);
[arr release];