zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Xcode控制台输出json数据乱码转为中文

2023-03-15 23:19:49 时间

我们常常需要使用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