zoukankan      html  css  js  c++  java
  • 在JAVA中把JSON数据格式化输出到控制台

    package com.test.jsonUtility;
    /** * @author  
        * @date 创建时间:2017年10月17日 上午11:11:42 
        * @version 1.0 
        * @parameter 
        * @since  
        * @return 
    	* @throws */
    
    public class Json {
        private static String getLevelStr(int level) {
            StringBuffer levelStr = new StringBuffer();
            for (int levelI = 0; levelI < level; levelI++) {
                levelStr.append("	");
            }
            return levelStr.toString();
        }
        public static void main(String[] args) {
        	//json 字符串
            String s = "{"code":10000,"msg":null,"data":{"id":"7aa0eb56-1026-4497-a42e-4c39f5e3dcf1","topicId":"0876ab84-a478-417b-91bc-849843c191a5","title":null,"commentId":null,"content":"" + 
            		"开发者平台自动化测试:针对帖子发表评论" + 
            		"","images":"","time":"2017-10-15 18:09:56","userId":"61028f94-de92-4c65-aad3-2fc8614e1d34","userName":"devautotest","commentNum":0,"status":0}}";
            int level = 0;
            //存放格式化的json字符串
            StringBuffer jsonForMatStr = new StringBuffer();
            for(int index=0;index<s.length();index++)//将字符串中的字符逐个按行输出
            {
            	//获取s中的每个字符
            	char c = s.charAt(index);
    //        	System.out.println(s.charAt(index));
            	
            	//level大于0并且jsonForMatStr中的最后一个字符为
    ,jsonForMatStr加入	
            	if (level > 0 && '
    ' == jsonForMatStr.charAt(jsonForMatStr.length() - 1)) {
                    jsonForMatStr.append(getLevelStr(level));
    //                System.out.println("123"+jsonForMatStr);
            	}
            	//遇到"{"和"["要增加空格和换行,遇到"}"和"]"要减少空格,以对应,遇到","要换行
                switch (c) {
                case '{':
                case '[':
                    jsonForMatStr.append(c + "
    ");
                    level++;
                    break;
                case ',':
                    jsonForMatStr.append(c + "
    ");             
                    break;
                case '}':
                case ']':
                    jsonForMatStr.append("
    ");
                    level--;
                    jsonForMatStr.append(getLevelStr(level));
                    jsonForMatStr.append(c);
                    break;
                default:
                    jsonForMatStr.append(c);
                    break;
                }
            }
            System.out.println(jsonForMatStr);
    
        }
        
    }
    

    以上代码执行结果如下图显示

  • 相关阅读:
    DB数据导出工具分享
    使用批处理脚本愉快的清理缓存
    git常用命令记录
    使用bat脚本部署hexo到coding和github
    初次尝试Linux并记录一二
    js实用方法记录-指不定哪天就会用到的js方法
    js实用方法记录-简单cookie操作
    js实用方法记录-js动态加载css、js脚本文件
    使用node自动生成html并调用cmd命令提交代码到仓库
    express使用记录
  • 原文地址:https://www.cnblogs.com/hong0632/p/7681867.html
Copyright © 2011-2022 走看看