json的格式化展示(基于 fastjson)
格式化類: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(" "); } return kg.toString(); }
}
調用: JsonFormat inner=new JsonFormat(); inner.format(JSONObject.parse(jsonStr), 0,true); inner.buffer.toString();//返回的html格式化展示;</pre>
展示效果:
![]()
本文由用戶 gaok1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!