SBJson - UTF8字符
问题描述:
我有一些数据包含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
。如何正确打印这些字符?
答
不确定它是否是一个简单的错字,但我不禁注意到您在这里有一个名为“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”。
希望它有帮助。
非常感谢你!我的PHP文件中有一个错字:) –