格式化JSON串用来展示

这是一个Java方法,用于格式化JSON字符串。通过遍历输入的字符串,遇到'{'和'['时增加缩进,遇到','时换行并添加缩进,遇到'}'和']'时减少缩进,从而实现JSON字符串的美化展示。" 124704692,7479973,理解数据指标:业务与运营关键KPI解析,"['产品运营', '数据分析', '业务指标']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值