我的项目中的好友是来自JSONserialization
的数据。这样收到的某些数据为html data
<p>activity for m43 by c31</p>
我需要将此数据转换为nsstring
并显示它。我不知道如何转换它请提前帮助我。我已经完成了一些解决方案但不清楚。如何将HTML NSData转换为NSString?请提前帮助我
-(void)connectionDidFinishLoading:(NSURLConnection *)connection {
tweet = [[NSDictionary alloc]init];
tweet = [NSJSONSerialization JSONObjectWithData:webData options:kNilOptions error:nil];
[array1 addObject:[item objectForKey:@"activityTitle"]];//prints string data
[array2 addObject:[item objectForKey:@"activityType"]];//prints string data
[array3 addObject:[item objectForKey:@"id"]];//prints string data
[array4 addObject:[item objectForKey:@"sessionId"]];//prints string data
[array8 addObject:[item objectForKey:@"desc"]];// prints html data
NSLog(@"%@",array2);
NSString *str = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];
NSLog(@"hiiiiiii",str);
}
我不知道如何将array8(包含html数据)转换为nsstring。我需要显示它uitableviewcell。像这样 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString * simpleTableIdentifier = @“activismCell”; CAviewCELLCell * cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier forIndexPath:indexPath];
cell.activitytitle.text = (NSString *)[array1 objectAtIndex:indexPath.row];
cell.idline.text = (NSString *)[array3 objectAtIndex:indexPath.row];
cell.descline.text = (NSString *)[array8 objectAtIndex:indexPath.row];
cell.issuelabel.text = (NSString *)[array9 objectAtIndex:indexPath.row];
cell.timelabel.text = (NSString *)[array10 objectAtIndex:indexPath.row];
sessid = (NSString *)[array4 objectAtIndex:indexPath.row];
token = (NSString *)[array6 objectAtIndex:indexPath.row];
apikey = (NSString *)[array7 objectAtIndex:indexPath.row];
NSLog(@"%@,%@",sessid,token);
NSString *stat =(NSString *)[array2 objectAtIndex:indexPath.row];
NSLog(@"%@",stat);
NSString *trimmedString = [stat stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if([trimmedString isEqualToString:@"Two Way Video Streaming"] || [trimmedString isEqualToString:@"One Way Video Streaming"]) {
[cell.startvideo setHidden:FALSE];
[cell.startvideo setImage:[UIImage imageNamed:@"ca_video.png"] forState:UIControlStateNormal];
[cell.startvideo addTarget:self action:@selector(playAction) forControlEvents:UIControlEventTouchUpInside];
}
else
[cell.startvideo setHidden:TRUE];
return cell;
}
答案 0 :(得分:2)
尝试initWithData:encoding:NSString的方法,用你的数据创建一个字符串。
示例:
NSString *str = [[NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];
希望它有所帮助。快乐的编码:)
答案 1 :(得分:0)
使用NSXMLParser将带有HTML的NSString转换为纯文本字符串
NSString *urlString = @"www.myurl.com";
NSString *agentString = @"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
[NSURL URLWithString:urlString]];
[request setValue:agentString forHTTPHeaderField:@"User-Agent"];
NSData *data = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ];
NSString *returnData = [[NSString alloc] initWithBytes: [data bytes] length:[data length] encoding: NSUTF8StringEncoding];
NSLog(returnData);