1

このコード:

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

このログを出力します:

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

そのログを次のような1つの配列に作成するために使用できるコードを知りたいです。

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
   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 に答える
1

探している結果を取得する簡単な方法は、キー値コーディング (KVC) を使用することです。

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

このように配列で使用されるキーと値のコーディングは、最初は少し直感に反するように見えるかもしれませんが、非常に強力です。

于 2012-08-17T07:45:54.490 に答える
0
NSMutableArray *birdtemp  = [NSMutableArray ....];   
     for (NSDictionary *object in JSONArray) {
               [birdtemp addObject:object[@"case_name"]];
      }
     [allparts addObject:birdtemp];
于 2012-08-17T07:25:06.693 に答える