我们使用NSLog在控制台输出内容查看网络请求返回的参数时,由于中文编码格式的问题,直接输出json数据时中文总会以原始码文Unicode显示,而不是正常显示中文
我们获取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编码后的结果。
我们使用NSLog在控制台输出内容查看网络请求返回的参数时,由于中文编码格式的问题,直接输出json数据时中文总会以原始码文Unicode显示,而不是正常显示中文我们获取json数据的时候,一般会直接转成NSDictionary的格式,或者就原有的json数据也可以,使用如下代码:// json数据或者NSDictionary转为NSData,responseObject为json数据或者
根本无法调试,所以为了解决这个问题,今天给大家推荐一个非常好的方法,主要思路就是利用objc/runtime运行时机制 来替换掉系统的
控制台
输出
方法,然后将utf-8格式的字符转换成
中文
格式。
一般情况下,我们在使用NSLog 和 %@
输出
某...
将字典(NSDictionary)和数组(NSArray)打印的Log显示为
Json
格式,可以解决
Xcode
打印字典和数组时
中文
显示
乱码
问题。
* 完美解决字典和数组调试打印时
中文
显示
乱码
问题,
* 使用
JSON
格式打印,可以通过
JSON
格式化验证
* 缩进格式显示,层次清晰
* 使用po命令调试时也能生效
* DEBUG模式生效,不影响线上版本
* 兼容iOS8及以上版本(iOS8以下没有测试过)
话不多说,直接将github仓库(https://github.com/shix.
使用mac下的文本编辑器打开还是
乱码
。转换成UTF-8或16都不行。
在网上看到有人说用浏览器打开,于是使用firefox打开,可以看到
中文
。
1、使用浏览器(firefox等)打开需要转换的文本A,然后复制。
2、使用
Xcode
打开A,刚才在浏览器中复制好的文本直接粘贴到使用
Xcode
打开A的窗口。这时
Xcode
会提示用不用转换。
3、点击转换
AFNetworking 是一个著名的 iOS 和 macOS 网络开发库。使用 AFNetworking 发送 GET 请求并获取
JSON
数据
的基本流程如下:
1. 导入 AFNetworking 库:在你的
Xcode
项目中,使用 Cocoapods 或者手动将 AFNetworking 库导入到你的项目中。
2. 创建 AFHTTPSessionManager 对象:AFHTTPSessionManager 是 AFNetworking 中用于发送 HTTP 请求的主要类。你可以使用如下代码来创建 AFHTTPSessionManager 对象:
```objective-c
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
3. 设置响应序列化器:AFNetworking 可以自动将服务器返回的
数据
转换为常用的
数据
类型,例如
JSON
、XML 等。你可以使用如下代码来设置响应序列化器:
```objective-c
manager.responseSerializer = [AF
JSON
ResponseSerializer serializer];
4. 发送 GET 请求:你可以使用 AFHTTPSessionManager 的 GET 方法来发送 GET 请求。例如,你可以使用如下代码来发送 GET 请求:
```objective-c
NSString *URLString = @"http://example.com/api/get_data";
[manager GET:URLString parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
// 请求成功,responseObject 即为服务器返回的
JSON
数据
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
// 请求失败
在 success 块中,你可以处理服务器返回的
JSON
数据
。
希望以上信息对你有帮
iOS开发Provisioning profile "iOS Team Provisioning Profile:xxx" doesn't include signing certificate
41559