2013-11-28 111 views
0

我有一些數據包含UTF8字符。如果我下面,我可以能夠正確地看到控制檯字符:
SBJson - UTF8字符

NSString *responseData = [[NSString alloc] 
            initWithData:urlData 
            encoding:NSUTF8StringEncoding]; 
NSLog(@"Response = %@", responseData); 

輸出

{"success":1,"row":1,"no":"001","title":"Arendi iOS","subject":"Konu 1","describtion":"Aciklama 1 ıİöÖçÇüÜğĞ","attachment":"Eklenti 1","status":1} 

這一步後,我這樣做:

SBJsonParser *jsonParser = [SBJsonParser new]; 
NSDictionary *jsonData = (NSDictionary*)[jsonParser objectWithString:responseData error:nil]; 
NSLog(@"jsonData = %@",jsonData); 

輸出:

jsonData = { 
    attachment = "Eklenti 2"; 
    describtion = "Aciklama 2 \U0131\U0130\U00f6\U00d6\U00e7\U00c7\U00fc\U00dc\U011f\U011e"; 
    no = 002; 
    row = 2; 
    status = 1; 
    subject = "Konu 2"; 
    success = 1; 
    title = "Arendi Android"; 
} 

之後,我這樣做:

NSString *description = (NSString*)[jsonData objectForKey:@"description"]; 

但它給了我null。如何正確打印這些字符?

回答

1

不確定它是否是一個簡單的錯字,但我不禁注意到您在這裏有一個名爲「description」的字段。

jsonData = { attachment =「Eklenti 2」; describe =「Aciklama 2 \ U0131 \ U0130 \ U00f6 \ U00d6 \ U00e7 \ U00c7 \ U00fc \ U00dc \ U011f \ U011e」; no = 002; row = 2; status = 1; subject =「Konu 2」; 成功= 1; title =「Arendi Android」; }

但是在最終輸出中,您試圖獲取名爲「description」的屬性的值。如果key被定義爲「描述」,則不能通過「描述」找到它,解析器將按預期返回「null」。

希望它有幫助。

+0

非常感謝你!我的PHP文件中有一個錯字:) –