shi*_*ami 7 encoding json nsstring nsdata ios
NSData*jsonData是包含JSON数据的http响应.
NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"jsonString: %@", jsonString);
我得到了结果:
{ "result": "\u8aaa" }
将数据编码为正确字符串的正确方法是什么,而不是像"\ uxxxx"这样的unicode字符串?
Mar*_*n R 19
如果转换JSON数据
{ "result" : "\u8aaa" }
到NSDictionary(例如使用NSJSONSerialization)并打印字典
NSError *error;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSLog(@"%@", jsonDict);
然后你会得到输出
{
    result = "\U8aaa";
}
原因是对所有非ASCII字符使用"\ Unnnn"转义序列的description方法NSDictionary.但那只是在控制台中显示,字典是正确的!
如果您打印键的值
NSLog(@"%@", [jsonDict objectForKey:@"result"]);
那么你将得到预期的输出
?