json的格式化展示(基于 fastjson)

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
格式化类:

   class JsonFormat{
	  private  StringBuffer buffer=new StringBuffer();
	  
	  //格式化json
	   private void format(Object json,int num,boolean isArray){
		   if(json instanceof JSONObject){
			   JSONObject jsonObject=(JSONObject) json;
			   num+=5;
			   if(isArray){
				   buffer.append(getKg(num)+"{</br>");
			   }else{
				   buffer.append("{</br>");
			   }
				  for(String k:jsonObject.keySet()){
					   buffer.append(getKg(num+2)+k+" : ");
					   format(jsonObject.get(k), num,false); //格式化子目录
				  }
			   buffer.append(getKg(num)+"}</br>");
		   }
		   else if(json instanceof JSONArray){
			   JSONArray jsonArray=(JSONArray) json;
			   num+=5;
			   buffer.append("[</br>");
				   for(int k=0;k<jsonArray.size();k++){
					   format(jsonArray.get(k), num,true); //格式化子目录
				   }
			   buffer.append(getKg(num)+"]</br>");
		   }else{ //如果不是json对象就直接打印值
			   buffer.append(json.toString()+"</br>"); 
		   }
		   
	    }
	   
	   /**
	    * 获取num个数个空格
	    * @param num
	    * @return
	    */
	   private String getKg(Integer num){
		   StringBuffer kg=new StringBuffer();
		   for(int i=0;i<num;i++){
			   kg.append("&nbsp;");
		   }
		   return kg.toString();
	   }
   }


调用:
JsonFormat inner=new JsonFormat();
inner.format(JSONObject.parse(jsonStr), 0,true);
inner.buffer.toString();//返回的html格式化展示;

展示效果:


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:python常用工具代码

下一篇:12306 火车票监控Python代码