1.项目开发中常常遇到xcode打印返回数据的时候中文无法直接显示,打印的json格式也不可以直接解析。(看个返回的中文还要去转码,或者是拉到接口去浏览器打开,费时费力)
e.g:
{
iOS = {
isnew = false;
need = false;
note = "1.\U9996\U9875\U5e7f\U544a\U652f\U6301\U4fc3\U9500\U5546\U54c1\n2.\U542f\U52a8\U9875\U589e\U52a0\U5e7f\U544a\U56fe\U7247";
title = "\U61d2\U732b\U793e\U957f\U4e70\U5bb6\U7248\U672c\U66f4\U65b0";
url = "";
version = "2.1.3";
};
m = success;
r = T;
}
然后今天例行逛简书,发现了一篇好文。遂实操,笔记,存档,大呼:治好了我多年的颈椎病!
原文在此,同时感谢原作者的分享。-> iOS JSON数据NSLog小技巧
2.解决方式很简单,只用建一个扩展类,添加一个方法。步骤如下:
①:②:
③:.m文件中添加方法- (NSString *)descriptionWithLocale:(nullable id)locale;
#import "NSDictionary+YMLog.h"
@implementation NSDictionary (YMLog)
#if DEBUG
- (NSString *)descriptionWithLocale:(nullable id)locale{
return [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
}
#endif
@end
大功告成,直接测试打印如下:
{
"r" : "T",
"m" : "success",
"iOS" : {
"need" : "false",
"isnew" : "false",
"title" : "买家版本更新",
"note" : "1.首页广告支持促销商品\n2.启动页增加广告图片",
"url" : "",
"version" : "2.1.3"
}
}
结贴,bingo!