格式化类:
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)+"{");
}else{
buffer.append("{");
}
for(String k:jsonObject.keySet()){
buffer.append(getKg(num+2)+k+" : ");
format(jsonObject.get(k), num,false); //格式化子目录
}
buffer.append(getKg(num)+"}");
}
else if(json instanceof JSONArray){
JSONArray jsonArray=(JSONArray) json;
num+=5;
buffer.append("[");
for(int k=0;k
format(jsonArray.get(k), num,true); //格式化子目录
}
buffer.append(getKg(num)+"]");
}else{ //如果不是json对象就直接打印值
buffer.append(json.toString()+"");
}
}
/**
* 获取num个数个空格
* @param num
* @return
*/
private String getKg(Integer num){
StringBuffer kg=new StringBuffer();
for(int i=0;i
kg.append(" ");
}
return kg.toString();
}
}
调用:
JsonFormat inner=new JsonFormat();
inner.format(JSONObject.parse(jsonStr), 0,true);
inner.buffer.toString();//返回的html格式化展示;
展示效果: