json的格式化展示(基于 fastjson)
2018-07-20 来源:open-open
格式化类:
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格式化展示;
展示效果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:python常用工具代码
最新资讯
热门推荐