1

这段代码:

for (NSDictionary *object in JSONArray) {
         NSMutableArray *birdtemp = [[NSMutableArray alloc] initWithObjects:object[@"case_name"], nil];
        [allparts addObject:birdtemp];
    }

输出此日志:

log: (
        (
        "NZXT Phantom 410"
    ),
        (
        "Thermaltake MK+"
    )
)

我想知道我可以使用什么代码将该日志放入一个数组中,例如:

log: (

    "NZXT Phantom 410",
    "Thermaltake MK+"
)

Json 数组是:

log: (
        {
        "case_color" = White;
        "case_description" = "";
        "case_image" = "http://sitecom/get/parts/part_images/nzxtphantom410.jpeg";
        "case_name" = "NZXT Phantom 410";
        "case_price" = "99.99";
        "case_type" = ATX;
        id = 1;
    },
        {
        "case_color" = Black;
        "case_description" = "";
        "case_image" = "http://site.com/get/parts/part_images/thernaltake-mkplus.jpeg";
        "case_name" = "Thermaltake MK+";
        "case_price" = "84.99";
        "case_type" = ATX;
        id = 2;
    }
)
4

4 回答 4

1

故障排除并得到这个:

allparts = [[NSMutableArray alloc] init];
    NSString *birdtemp;
    for (NSDictionary *object in JSONArray) {
            birdtemp = object[@"case_name"];
        [allparts addObject:birdtemp];
    }
于 2012-08-17T07:40:33.843 回答
1

获得所需结果的一种简单方法是使用键值编码 (KVC):

NSArray *allparts = [JSONArray valueForKey:@"case_name"];

以这种方式在数组上使用的键值编码一开始可能看起来有点违反直觉,但它非常强大。

于 2012-08-17T07:45:54.490 回答
1
   NSMutableArray *array = [[NSMutableArray alloc] init];
    for (NSDictionary *dict in JSONArray) {

        [array addObject:[dict objectForKey:@"case_name"]];
    }
    NSLog(@"Your Array: %@",array);

我想这会对你有所帮助。

于 2012-08-17T11:36:59.540 回答
0
NSMutableArray *birdtemp  = [NSMutableArray ....];   
     for (NSDictionary *object in JSONArray) {
               [birdtemp addObject:object[@"case_name"]];
      }
     [allparts addObject:birdtemp];
于 2012-08-17T07:25:06.693 回答