2010-06-08 28 views
3

我正在使用ASIHTTP請求來獲取我給SBJSON解析器的NSString響應。如何在iPhone上使用JSON解碼UTF8字符?

問題是,在NSString響應中,我得到了一些UTF8編碼的字符(口音),我需要做解碼才能使應用程序工作。

如何使用JSON解碼UTF8?

我這樣調用的JSON消息:

[jsonParser objectWithString:jsonString error:NULL]; 

任何幫助,將如此讚賞。

法布里奇奧

回答

2

我才意識到我沒有解碼,響應被正確讀取。

Thanx for reading。

法布里奇奧

4

哈哈.... 太棒了! 但爲了更簡單,我會說。

創建新SBJSON解析器對象

SBJSON *parser = [[SBJSON alloc] init]; 

準備URL請求從Twitter

下載狀態
NSURLRequest *request = [NSURLRequest requestWithURL: 
    [NSURL URLWithString:@"http://twitter.com/statuses/public_timeline.json"]]; 

執行請求,並得到JSON回爲一個NSData對象

NSData *response = [NSURLConnection sendSynchronousRequest:request 
    returningResponse:nil error:nil]; 

獲取JSON作爲來自NSData響應的NSString

NSString *json_string = [[NSString alloc] 
    initWithData:response encoding:NSUTF8StringEncoding]; 

解析JSON響應爲對象 這裏,我們使用NSArray的,因爲我們解析的JSON狀態對象的數組

NSArray *statuses = [parser objectWithString:json_string error:nil] 

而且在狀態數組你有你需要的所有數據。