您好我是新來的節目。的Json SBJSON錯誤 - 困惑的NSDictionary
我有一個NSDictionary中和表單元格的一些問題。我試圖找到很好的教程,但沒有找到任何可以幫助我的東西。我正在使用JSONKit來解析json。我有一箇舊版本的xcode,只有模擬器4.3。
什麼,我想要做的就是我的Json的解析與單元格的表。
我想解析JSON:
{[{"n_id":"1","name":"Green","age":"23"}]}
我的主要問題。 我沒有得到任何錯誤,但是當我運行應用程序時,它只是自動關閉。 當我註釋掉//cell.textLabel.text = [studName objectAtIndex:indexPath.row];並用cell.textLabel.text = @「Test」替換它。該應用程序和輸出工作正常。我也能夠得到NSLog();值
我想我的錯誤是在cell.textLabel.text = [studName objectAtIndex:indexPath.row]; 在此先感謝
//Json2ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
NSData * JSONdata =[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://myurl.php"]];
if([JSONdata length] == 0){
[JSONdata release];
return;
}
NSArray *students =[JSONdata objectFromJSONData];
studName = [[NSMutableArray alloc] init];
for(NSDictionary *student in students)
{
NSLog(@"Name: %@", [student objectForKey:@"name"]);
NSLog(@"Age: %@", [student objectForKey:@"age"]);
content = [student objectForKey:@"name"];
if(content)
[studName addObject:content];
}
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
cell.textLabel.text = [studName objectAtIndex:indexPath.row];
return cell;
}
我不知道有關的NSMutableArray。
//Json2ViewController.h
@interface Json2ViewController : UIViewController {
NSArray * list;
NSString * content;
NSMutableArray *studName;
}
到底是什麼你的問題?你有什麼問題與NSDictionary?你是否期待不同的價值? – TeaPow
您提取代碼中的字符串部分 // NSString * content = [results objectForKey:@「n_name」]; content = [result objectForKey:@「n_name」]; 和在 cell.textLabel.text = [內容objectAtIndex:indexPath.row]; 你把它當作一個數組來處理。 你能解釋爲何以及如何一個字符串「內容」對象的行爲像一個數組 –