JSONデータはそのようなものです...
{"order_list_1":[
{"name":"@SEVEN (7) OCLOCK BLADE PLATINUM","qty":1,"mrp":0.0},
{"name":"ACT 2 POPCORN BUTTER PEPPER","qty":2,"mrp":0.0},
{"name":"ACT 2 POPCORN CHILLY SURPRISE","qty":3,"mrp":0.0},
{"name":"@MAGGI SOUP HOT N SOUR(1 1)","qty":4,"mrp":0.0},
{"name":"ACT 2 POPCORN GOLDEN SIZZLE","qty":5,"mrp":0.0},
{"name":"AMCHUR AAKHA 1kg","qty":6,"mrp":0.0}]
}
json データはコンソールに表示されますが、テーブルビューには表示されません。
ここに私のコードスニペット...
-(void)fetchData{
dispatch_async(bKQueue, ^{
NSData *data = [NSData dataWithContentsOfURL:latestURL];
NSLog(@"LatestURL:%@",latestURL);
NSError* error=nil;
//Creating JSON Object
NSDictionary *jsonDict= [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"JSON = %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
//NSLog(@"dataaaa :%@",jsonDict);
//[self performSelectorOnMainThread:@selector(fetchData:) withObject:data waitUntilDone:YES];
dispatch_async(dispatch_get_main_queue(), ^{
//[self fetchData:responseData];
[self.tableView reloadData];
//NSLog(@"Value :%@",data);
});
NSDictionary *statuses=[jsonDict objectForKey:@"order_list_1"];
NSLog(@"SomeStatus :%@",statuses);
if (!statuses)
{
NSLog(@"Error in Json :%@",error);
}
else
{
for(NSDictionary *newValu in statuses)
{
NSString *name=[newValu objectForKey:@"name"];
NSString *qty=[newValu objectForKey:@"qty"];
NSString *mrp=[newValu objectForKey:@"mrp"];
NSLog(@"Name :%@ Quantity :%@ MRP :%@ ",name,qty,mrp);
}
}
});
}
そして、これは私のTableviewコードです..
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"セル";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } NSError *error=nil; NSDictionary *jsonDict=[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSArray *statuses=[jsonDict objectForKey:@"order_list_1"]; for (int i=0; i<jsonDict.count; i++) { NSDictionary *newDict=[statuses objectAtIndex:i]; NSLog(@"name :%@",[newDict valueForKey:@"name"]); } NSDictionary *text=[statuses objectAtIndex:indexPath.row]; cell.textLabel.text=[text objectForKey:@"name"]; [self.tableView reloadData]; return cell;
}