1.使用Jackson的ObjectMapper來實作,這種效果比較緊湊
先引入jackson的jar包:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.0-rc2</version>
</dependency>
json格式化:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.INDENT_OUTPUT, Boolean.TRUE);// json格式化設定(INDENT_OUTPUT表示支援縮進)
2.自己寫方法格式化,這種方式顯示效果比較好
public static String formatJson(String content) {
StringBuffer sb = new StringBuffer();
int index = ;
int count = ;
while(index < content.length()){
char ch = content.charAt(index);
if(ch == '{' || ch == '['){
sb.append(ch);
sb.append('\n');
count++;
for (int i = ; i < count; i++) {
sb.append('\t');
}
}
else if(ch == '}' || ch == ']'){
sb.append('\n');
count--;
for (int i = ; i < count; i++) {
sb.append('\t');
}
sb.append(ch);
}
else if(ch == ','){
sb.append(ch);
sb.append('\n');
for (int i = ; i < count; i++) {
sb.append('\t');
}
}
else {
sb.append(ch);
}
index ++;
}
return sb.toString();
}