热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

控制台打印Json出来

2019独角兽企业重金招聘Python工程师标准packagecom.qxzl.util;importorg.json.JSONArray;importorg.json.J

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

package com.qxzl.util;import org.json.JSONArray;
import org.json.JSONObject;import java.util.Iterator;/*** @Description 控制台打印Json出来* @Author Created by .* @Email hccpw@sina.com* @Date ${DATE}*/
public class JsonLog {private static final char TOP_LEFT_CORNER = '╔';private static final char BOTTOM_LEFT_CORNER = '╚';private static final String DOUBLE_DIVIDER = "═════════════════════════════════════════════════════════════════";public static void println(String content) {outp(" ", 0);if (content == null || content.isEmpty()) {return;}try {outp(TOP_LEFT_CORNER + DOUBLE_DIVIDER, 0);if (content.startsWith("{")) {setJSONObjectLog(new JSONObject(content), 1);} else if (content.startsWith("{")) {setJSONArrayLog(new JSONArray(content), 1);} else {outp(content, 1);}outp(BOTTOM_LEFT_CORNER + DOUBLE_DIVIDER, 0);} catch (Exception e) {}outp(" ", 0);}/*** 对JSONObject的解析*/private static void setJSONObjectLog(JSONObject jsonObject, int count) throws Exception {if (jsonObject == null || jsonObject.length() == 0) {outp("{}", count);return;}outp("{", count);count = count + 1;Iterator msgIterator = jsonObject.keys();while (msgIterator.hasNext()) {String key = msgIterator.next();Object value = jsonObject.get(key);if (value.toString().startsWith("{")) {JSONObject object = new JSONObject(value.toString());if (object == null || object.length() == 0) {outp(key + ": {}", count);} else {outp(key + ": ", count);setJSONObjectLog(new JSONObject(value.toString()), count + 1);}} else if (value.toString().startsWith("[")) {JSONArray array = new JSONArray(value.toString());if (array == null || array.length() == 0) {outp(key + ": []", count);} else {outp(key + ": ", count);setJSONArrayLog(new JSONArray(value.toString()), count + 1);}} else {if (value instanceof String) {outp(key + ": " + "\"" + value + "\"" + " ,", count);} else {outp(key + ": " + value + " ,", count);}}}outp("}", count - 1);}/*** 对JSONArray的解析*/private static void setJSONArrayLog(JSONArray jsonArray, int count) throws Exception {if (jsonArray == null || jsonArray.length() == 0) {outp("[]", count);return;}outp("[", count);count = count + 1;for (int i = 0; i // Log.d("HTTPDEBUG", builder.toString() + s);}
}

 


转:https://my.oschina.net/openoschina/blog/1637701



推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
author-avatar
似懂非懂2502904027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有