我正在使用ASIHTTP Request来获取我给SBJSON解析器的NSString响应。
问题是在NSString响应中我得到了一些UTF8编码字符(重音),我需要解码才能使应用程序正常工作。
如何使用JSON解码UTF8?
我像这样调用JSON消息:
[jsonParser objectWithString:jsonString error:NULL];
任何帮助都会非常感激。
的Fabrizio
答案 0 :(得分:4)
洛尔.... 好极了! 但为了更简单,我会说。
创建新的SBJSON解析器对象
SBJSON *parser = [[SBJSON alloc] init];
准备从Twitter下载状态的URL请求
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://twitter.com/statuses/public_timeline.json"]];
执行请求并将JSON作为NSData对象重新获取
NSData *response = [NSURLConnection sendSynchronousRequest:request
returningResponse:nil error:nil];
从NSData响应中获取JSON作为NSString
NSString *json_string = [[NSString alloc]
initWithData:response encoding:NSUTF8StringEncoding];
将JSON响应解析为对象 这里我们使用的是NSArray,因为我们正在解析一个JSON状态对象数组
NSArray *statuses = [parser objectWithString:json_string error:nil]
在状态数组中,您可以获得所需的所有数据。
答案 1 :(得分:2)
我刚刚意识到我没有解码,响应被正确读取。
Thanx阅读。
的Fabrizio