おそらく私は考えすぎているか、自分自身を混乱させているのかもしれませんが、私の頭はこれについてのループで立ち往生しており、抜け出すことができません.
次の形式の JSON があります: ( http://jsonformatter.curiousconcept.com/で検証済み)
{
id: 1,
sections: "5",
total: "10",
result: {
3: 00PM: [
{
name: "Anurag",
status: "Web"
},
{
name: "Anurag2",
status: "Web2"
}
],
5: 00PM: [
{
name: "Anurag",
status: "Seated"
}
],
6: 00PM: [
{
name: "Anurag4",
status: "Web4"
},
{
name: "Anurag5",
status: "Web5"
},
{
name: "Anurag6",
status: "Web6"
},
{
name: "Anurag7",
status: "Web7"
}
]
}
}
私はこれまでのところこれを持っています:
NSDictionary *dict = [response JSONValue];
NSDictionary *results = [dict objectForKey:@"result"];
NSInteger num_results = [[dict valueForKey:@"total"] intValue];
NSInteger num_sections = [[dict valueForKey:@"sections"] intValue];
NSMutableArray *sections = [[NSMutableArray alloc] initWithCapacity:num_sections];
NSMutableArray *objarr = [[NSMutableArray alloc] initWithCapacity:num_results];
NSMutableArray *obj= [[NSMutableArray alloc] initWithCapacity:num_sections];
NSMutableArray *temp = [[NSMutableArray alloc] initWithCapacity:num_results];
for (NSString* key in results) {
NSLog(@"Key: %@", key); // prints out 3:00 PM...5:00 PM etc...
[obj addObject:[results objectForKey:key]]; // nested objects within each key are saved in the array
NSLog(@"Object 1: %@", obj);
}
for (int i = 0; i < [obj count]; i++) {
//NSLog(@"Object 2: %@", [obj objectAtIndex:i]);
[temp addObject:[obj objectAtIndex:i]]; // I take each object from previous array and save it in a temp array
for (int i = 0; i < num_results; i++) {
NSLog(@"Object 3: %@", [temp objectAtIndex:i]);
**[objarr addObject:[temp objectAtIndex:i]]; // I want to extract the object within the object but cannot get it to work**
}
}
結果内の 3 つのキーのそれぞれにオブジェクトの配列を作成できます。しかし、それらの中の各オブジェクトを個別のオブジェクトとして取得して配列に保存することはできません。
たとえば、私が持っている NSArray では:
Object 3: (
{
name = "Anurag ";
status = Web;
},
{
name = "Anurag ";
status = Web;
}
)
このオブジェクト内の 2 つのオブジェクトを取得し、両方を配列に保存するにはどうすればよいですか? 主な問題は、個々のオブジェクトを取得するためにキー名を参照できないことだと思います。