0

如何在一个数组上的“选择”下面解析这个意味着当我在数组中获得“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";
              }
          );
4

4 回答 4

2

一步到位,兄弟

如果您的数组被NSMutableArray用作

NSArray *resultArray =  [[NSArray arrayWithArray:temp] valueForKeyPath:@"id"]

如果简单NSArray,则用作

NSArray *resultArray = [jsonArray valueForKeyPath:@"id"]
于 2013-04-30T10:06:06.130 回答
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)

于 2013-04-30T09:18:14.557 回答
0

试试这样

    NSMutableArray *idArray=[[NSMutableArray alloc]init];
    for(int i=0;i<[jsonArray count];i++)
        [idArray addObject:[[jsonArray objectAtIndex:i] valueForKey:@"id"]];
    NSLog(@"%@",idArray);

在这里,您将获得 idArray 中的所有值。

于 2013-04-30T09:06:58.397 回答
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];
于 2013-04-30T09:07:08.180 回答