いくつかのリンクをストリーミングするオーディオプレーヤーがあり、JSONを介してリンクをtableViewにロードしたいと考えています。
リンクを表示する私のtableViewは次のとおりです:(コメントアウトされていますが、jsonなしで動作します)
/*
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
int row = indexPath.row;
[[cell textLabel] setText:[_radioNames objectAtIndex:row]];
[[cell detailTextLabel] setText:[_radioSubtitles objectAtIndex:row]];
if(row == _currentRadio) {
[cell setAccessoryView:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"now_playing.png"]] autorelease]];
} else {
[cell setAccessoryView:nil];
}
return cell;
}
*/
ここで、JSONファイルを取得します。
// Download JSON
NSString *jsonString = [NSString
stringWithContentsOfURL:[NSURL URLWithString:@"http://www.xxxxxxxxx/radioliste.json"]
encoding:NSStringEncodingConversionAllowLossy
error:nil];
// Create parser
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *results = [parser objectWithString:jsonString error:nil];
[parser release], parser = nil;
// Set tableData
[self setTableData:[results objectForKey:@"items"]];
NSLog(jsonString); // THIS IS SHOWING ME THE WHOLE JSON FILE, DON'T KNOW IF THAT OK?
これがJSONデータリストです:(またはそう思います)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// Change UITableViewCellStyle
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier] autorelease];
}
// Get item from tableData
NSDictionary *item = [tableData objectAtIndex:[indexPath row]];
// Set text on textLabel
[[cell textLabel] setText:[item objectForKey:@"title"]];
// Set text on detailTextLabel
[[cell detailTextLabel] setText:[item objectForKey:@"description"]];
return cell;
}
これが私のJSONファイルです:
{
"radioliste": {
"items": [
{
"id": "The Voice",
"string": "Afspil The Voice",
"string": "LINK"
}
]
}
}
だからここに私の質問があります...JSONファイルから正しいストリーミングリンクをロードしてtableViewに解析するにはどうすればよいですか?そして、JSONファイルは有効ですか?