JSON字符串格式化是将一个没有格式的 JSON 字符串转换成具有良好可读性的格式的过程,而在 Java 中,可以通过使用第三方库来对 JSON 字符串进行格式化操作,比如:
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; public static String formatJson(String json) { String result = ""; try { ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.INDENT_OUTPUT, true); Object jsonObj = mapper.readValue(json, Object.class); result = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonObj); } catch (Exception e) { result = json; } return result; }
上述代码中,我们使用了com.fasterxml.jackson.core
包下的ObjectMapper
类和SerializationFeature
类来进行 JSON 格式化。在使用 ObjectMapper 时,我们需要将 JSON 字符串解析成一个 Object 类型的对象,这个解析的过程中,ObjectMapper 会自动将 JSON 字符串中的键值对转换成 Key-Value 形式,然后再使用writeValueAsString
方法将 Object 对象转换成具有良好可读性的 JSON 字符串。
需要注意的是,如果 JSON 字符串无法解析成 Object 类型时,我们要将原来的 JSON 字符串返回。