**
JSON格式字符串格式化显示的方法
**
1. 在JAVA里格式化
Java里可以写下面的一个工具类
public class JsonFormatUtil {
/**
* 对json字符串格式化输出
*/
public static String formatJson(String jsonStr) {
if (null == jsonStr || "".equals(jsonStr)) {
return "";
}
StringBuilder sb = new StringBuilder();
char last = '\0';
char current = '\0';
int indent = 0;
for (int i = 0; i < jsonStr.length(); i++) {
last = current;
current = jsonStr.charAt(i);
switch (current) {
case '{':
case '[':
sb.append(current);
sb.append('\n');
indent++;
addIndentBlank(sb, indent);
break;
case '}':
case ']':
sb.append('\n');
indent--;
addIndentBlank(sb, indent);
sb.append(current);
break;
case ',':
sb.append(current);
if (last != '\\') {
sb.append('\n');
addIndentBlank(sb, indent);
}
break;
default:
sb.append(current);
}
}
return sb.toString();
}
/**
* 添加space
*/
private static void addIndentBlank(StringBuilder sb, int indent) {
for (int i = 0; i < indent; i++) {
sb.append('\t');
}
}
}
然后JsonFormatUtil.formatJson( jsonStr)传入需要格式化的字符串。
2. 在页面JS里格式化
var jsObj = $("#content").val();
var jsonObj = JSON.stringify(JSON.parse(jsObj), null, 4);
var str = "";
str += '<textarea id="d" class="col-md-12" style="resize: none;" rows="50">' + jsonObj + '</textarea>';
$("#format").empty();
$("#format").append(str);
将id为content里的字符串转为json格式并格式化,然后放入文本框里展现出来。
本文部分转自: https://blog.csdn.net/qq_34329508/article/details/54141183