iOS-打印 JSON 数据原格式

iOS-打印 JSON 数据原格式_第1张图片

痛点

实际开发过程中,从网络上拿到的数据,再控制台打印输出时,格式是以下形式的:

{
    error = {
        errorCode = 10002;
        errorMessage = "Appkey is missing. (\U65e0appkey\U53c2\U6570)";
    };
    status = ERROR;
}
iOS-打印 JSON 数据原格式_第2张图片

存在着以下几点问题

  • 双引号" "缺失
  • unicode编码没有显示中文
  • 当有数组情况时候,数组的中括号[ ]--->变成可恶的圆括号了( )

解决办法

  • 写一个NSDictionaryCategory
iOS-打印 JSON 数据原格式_第3张图片
  • 分类里重写方法- (NSString *)descriptionWithLocale:(id)locale
- (NSString *)descriptionWithLocale:(id)locale {

    NSString *string;
    
    @try {
        
        string = [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
        
    } @catch (NSException *exception) {
        
        NSString *reason = [NSString stringWithFormat:@"reason:%@",exception.reason];
        string = [NSString stringWithFormat:@"转换失败:\n%@,\n转换终止,输出如下:\n%@",reason,self.description];
        
    } @finally {
        
    }
    
    return string;
}
  • 返回数据打印样式
{
    "status" : "ERROR",
    "error" : {
        "errorMessage" : "Appkey is missing. (无appkey参数)",
        "errorCode" : 10002
    }
}
iOS-打印 JSON 数据原格式_第4张图片
  • 解析结果
iOS-打印 JSON 数据原格式_第5张图片

使用方法

HQLogHelper导入到你的项目中,然后直接运行即可。

iOS-打印 JSON 数据原格式_第6张图片

Demo

GitHubHQLogHelper


参考:

  • iOS JSON数据NSLog小技巧

你可能感兴趣的:(iOS-打印 JSON 数据原格式)