public static String format(String str) {
StringBuffer sb = new StringBuffer();
int length = str.length();
int count = 0; //缩进倍数
String lastStr = "";
for(int i=0;i<length;i++) {
String sub = str.substring(i, i+1);
if("{".equals(sub) || "[".equals(sub)) {
count++;
sb.append(sub);
sb.append("\r\n");
for(int j=0;j<count;j++) {
sb.append(" ");
}
}
else if(",".equals(sub)) {
if("\"".equals(lastStr) || "]".equals(lastStr)) {
sb.append(sub);
sb.append("\r\n");
for(int j=0;j<count;j++) {
sb.append(" ");
}
} else {
sb.append(sub);
}
}
else if("}".equals(sub)) {
if("{".equals(lastStr)) {
for(int j=0;j<count;j++) {
sb.setLength(sb.length()-2); //2个空格
}
sb.setLength(sb.length()-2); //\r\n
} else {
sb.append("\r\n");
count--;
for(int j=0;j<count;j++) {
sb.append(" ");
}
count++;
}
count--;
sb.append(sub);
}
else if("]".equals(sub)) {
if("[".equals(lastStr)) {
for(int j=0;j<count;j++) {
sb.setLength(sb.length()-2); //2个空格
}
sb.setLength(sb.length()-2); //\r\n
} else {
sb.append("\r\n");
count--;
for(int j=0;j<count;j++) {
sb.append(" ");
}
count++;
}
count--;
sb.append(sub);
}
else {
sb.append(sub);
}
lastStr = sub;
}
return sb.toString();
}
这是一个Java方法,用于格式化JSON字符串。通过遍历输入的字符串,遇到'{'和'['时增加缩进,遇到','时换行并添加缩进,遇到'}'和']'时减少缩进,从而实现JSON字符串的美化展示。"
124704692,7479973,理解数据指标:业务与运营关键KPI解析,"['产品运营', '数据分析', '业务指标']
8947

被折叠的 条评论
为什么被折叠?



