我无法将nsmutabledata转换为字符串

时间:2011-04-06 06:49:32

标签: iphone

喜 我使用JSON通过webservice获取数据 我得到responseData但我不知道为什么它没有转换成字符串
这是我的代码: - (void)connectionDidFinishLoading:(NSURLConnection *)connection {

NSString *string = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"string %@",string);
NSMutableDictionary *dict = [string JSONValue];
NSLog(@" Dict %@", dict);
[infoArray removeAllObjects];
NSMutableArray *array = [dict objectForKey:@"Premio"]; 
[infoArray addObjectsFromArray:array];
NSLog(@" Array1 : %@",infoArray);  

输出结果如2011-04-06 12:12:52.694 Monforte [1720:207]回复DATA< 7b225072 656d696f 223a207b 2273436f 64696365 223a2022 39383422 2c226964 5072656d 696f223a 20223836>

2011-04-06 12:12:52.695 Monforte [1720:207] string(null)
2011-04-06 12:12:52.696 Monforte [1720:207] Dict(null)
2011-04-06 12:12:52.697 Monforte [1720:207] Array1:(

1 个答案:

答案 0 :(得分:1)

由于NSString的-initWithData:encoding:方法返回nil,如果数据对给定的编码无效,那就是我要检查的第一件事。检查响应HTTP标头以确保服务器说您应该接收UTF-8编码的文本。如果是这样,尝试使用NSData的-writeToFile:atomically:方法将接收的数据直接保存到文件中,并在文本编辑器(如TextWrangler)中打开它,以验证它确实 是UTF-8。 / p>