iOS开发NSLog打印json数据

开发中需要处理大量 json 数据,有时候后台开发人员修改了服务器,没有及时更新文档.
我们需要根据后台给的真实数据来处理业务.
数据量小的时候还好,但是数据量大的话 就需要图形工具来查看结构.
xCode的NSLog输出的数据不能直接 在工具上转换。

这个分类就是解决这个问题而来的!
废话不多说!
直接上代码

创建一个 NSObject 的分类 分别在.h .m文件申明 实现这个方法 调用 就OK

-(void)fb_descriptionJson:(NSDictionary *)dicM callBack:(void(^)(NSString * logMessage))callBack
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSString *logString;
        @try {
            logString=[[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:dicM options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
            callBack ? callBack(logString) : nil;
        } @catch (NSException *exception) {
            NSString *reason = [NSString stringWithFormat:@"reason:%@",exception.reason];
            logString = [NSString stringWithFormat:@"转换失败:\n%@,\n转换终止,输出如下:\n%@",reason,self.description];
        } @finally {
            
        }
    });
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    NSDictionary *dict = @{@"title":@"标题",@"content":@"测试",@"arr":@{@"title":@"标题",@"content":@"测试打印"}};
    [self fb_descriptionJson:dict callBack:^(NSString * _Nullable logMessage) {
        NSLog(@"%@",logMessage);
    }];
}

输出结果
 {
  "title" : "标题",
  "content" : "测试",
  "arr" : {
    "title" : "标题",
    "content" : "测试打印"
  }
}

参考文章如下:iOS-打印 JSON 数据原格式
具体代码可以查看我的一个 oc语法糖库 FBObjcSugar
NSObject+FBLogJsonSugar.h 文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 每天早上起床后,刷牙的时候我都会打开收音机听早新闻,期间经常会插播一条广告,大意就是:发财不是梦,这里就有“财富葵...
    酒酿蛋阅读 280评论 0 2
  • 或早或晚,相信终有一天 我们会踏上自己所向往的旅途、向往的国度、长路漫漫,我们还年轻,一切都还来得及… 这一次我选...
    去温暖的地方阅读 809评论 22 13
  • 昨天晚上 窗台上的猫咪在问我 给她暖过被窝的你在哪里 我说就在这里啊 就在这里啊 猫咪狠狠地看着我 好像在说:在哪...
    柠檬小精灵阅读 316评论 0 1

友情链接更多精彩内容