如何在iPhone上使用JSON解码UTF8字符?

时间:2010-06-08 08:57:12

标签: iphone json

我正在使用ASIHTTP Request来获取我给SBJSON解析器的NSString响应。

问题是在NSString响应中我得到了一些UTF8编码字符(重音),我需要解码才能使应用程序正常工作。

如何使用JSON解码UTF8?

我像这样调用JSON消息:

[jsonParser objectWithString:jsonString error:NULL];

任何帮助都会非常感激。

的Fabrizio

2 个答案:

答案 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