我们常常需要使用NSLog在控制台输出内容查看一些结果是否正确或者获取信息等。但是由于中文编码格式的问题,直接输出json数据时中文总会以原始码文显示,而不是正常显示中文,之前搜索方法时找到如下方法:
在Xcode上方运行和结束运行右边选择模拟器的地方选择工程名-->Edit Scheme-->test-->更改Debugger的格式。
但是我的Xcode只有LLDB和NONE可以选择,始终无法正常显示中文,只能另寻他法。
我们获取json数据的时候,一般会直接转成NSDictionary的格式,或者就原有的json数据也可以,使用如下代码:
// json数据或者NSDictionary转为NSData,responseObject为json数据或者NSDictionary
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil];
// NSData转为NSString
NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonStr);
这样输出的就是正常中文显示的了,也就是用UTF8编码后的结果。
另外介绍一个方便查看json数据的软件:VisualJSON。
直接在Mac App Store下载即可,免费的,很好用,直接把json数据,或者上面转化后的NSString粘贴放在Content区域里,下方的Text就会显示便于查看结构的json数据。
这是其在github的项目地址:https://github.com/youknowone/VisualJSON
查看作者首页