Jackson 美化輸出JSON,優雅的輸出JSON數據,格式化輸出JSON數據... ...
一下用了這么多形容詞,就是怕你們找不到。Jackson 美化輸出JSON,優雅的輸出JSON數據,格式化輸出JSON數據
其實本站的第一個工具,也就是首頁的,就是JSON格式化輸出,但是增加了校驗功能,以及中文提示問題所在。比如如下 JSON 少了一個“,”。
好了,介紹完畢,開始走代碼吧。
Jackson 格式化輸出JSON 代碼說明(對象)
我們一般輸出就是普通的toString
輸出。如下代碼:
Demo demo = new Demo("sojson",4,"http://www.rkjnmx.tw");
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(demo));
輸出結果:
{"name":"sojson","age":4,"domain":"http://www.rkjnmx.tw"}
非常不利于肉眼觀看,而且一大坨,如果是JSON很大的話,那么更難受。那么我們美化輸出呢?
美化/優雅/格式化輸出,代碼如下:
public static void main(String[] args) throws JsonProcessingException {
Demo demo = new Demo("sojson",4,"http://www.rkjnmx.tw");
ObjectMapper mapper = new ObjectMapper();
//普通輸出
System.out.println(mapper.writeValueAsString(demo));
//格式化/美化/優雅的輸出
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(demo));
}
輸出結果:
{
"name" : "sojson",
"age" : 4,
"domain" : "http://www.rkjnmx.tw"
}
是不是結果很nice?下面再看下字符串輸出。
Jackson 格式化輸出JSON 代碼說明(字符)
其實這里就是把字符串轉成對象(Object
),然后再輸出的。
優雅輸出 Java代碼:
public static void main(String[] args) throws IOException {
//已知一個json 字符串
String json = "{\"name\":\"sojson\",\"age\":4,\"domain\":\"http://www.rkjnmx.tw\"}";
//求優雅輸出
ObjectMapper mapper = new ObjectMapper();
Object obj = mapper.readValue(json, Object.class);
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj));
}
輸出結果:
{
"name" : "sojson",
"age" : 4,
"domain" : "http://www.rkjnmx.tw"
}
這里有的同學是不是想到,如果直接用上面的方法(writerWithDefaultPrettyPrinter()
)呢,因為參數類型是Object
,其實我看了源碼,Object
是為了你方便傳參為各種你的對象。如果你傳的String
,那么直接出來String
了。也就是還是輸出原來的方式。當然你也可以試試。
Jackson Maven引入:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.4</version>
</dependency>
測試類請在附件中下載。
版權所屬:SO JSON在線解析
原文地址:http://www.rkjnmx.tw/blog/245.html
轉載時必須以鏈接形式注明原始出處及本聲明。
如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。