java如何将json数据格式化输出到控制台

来源:互联网 发布:淘宝依视路镜片真假 编辑:程序博客网 时间:2024/06/10 04:57

本人在做接口测试的时候,需要把接口返回的json数据打印到控制台,但是只能通过tostring方法打印string,后来经过查阅资料,参考了一个别人的思路,自己写了一个方法输出json数据的,分享一下,供大家参考。

// 输出jsonpublic void output(JSONObject response) {String start = "丨  ";String jsonStr = response.toString();// 先将json对象转化为string对象int level = 0;// 用户标记层级StringBuffer jsonResultStr = new StringBuffer();// 新建stringbuffer对象,用户接收转化好的string字符串for (int i = 0; i < jsonStr.length(); i++) {// 循环遍历每一个字符char piece = jsonStr.charAt(i);// 获取当前字符// 如果上一个字符是断行,则在本行开始按照level数值添加标记符,排除第一行if (i != 0 && '\n' == jsonResultStr.charAt(jsonResultStr.length() - 1)) {for (int k = 0; k < level; k++) {jsonResultStr.append(start);}}switch (piece) {case '{':case '[':// 如果字符是{或者[,则断行,level加1jsonResultStr.append(piece + "\n");level++;break;case ',':// 如果是“,”,则断行jsonResultStr.append(piece + "\n");break;case '}':case ']':// 如果是}或者],则断行,level减1jsonResultStr.append("\n");level--;for (int k = 0; k < level; k++) {jsonResultStr.append(start);}jsonResultStr.append(piece);break;default:jsonResultStr.append(piece);break;}}output(jsonResultStr.toString());}

下图是结果显示:


原创粉丝点击