Jackson是一種能夠序列化和反序列化java對象和JSON對象之間轉換的Java庫。
使用Jackson可以方便地將Java對象轉換為JSON字符串,也可以將JSON字符串轉換為Java對象。在進行這些操作時,Jackson會自動將Java對象的屬性名與JSON對象的屬性名匹配。
Jackson還提供了格式化輸出JSON對象的功能。格式化輸出可以使得JSON對象更加易讀,方便調試和排錯。
ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enable(SerializationFeature.INDENT_OUTPUT); String jsonString = "{\"name\":\"張三\",\"age\":18,\"gender\":\"男\"}"; try { Object jsonObject = objectMapper.readValue(jsonString, Object.class); String prettyJsonString = objectMapper.writeValueAsString(jsonObject); System.out.println(prettyJsonString); } catch (JsonProcessingException e) { e.printStackTrace(); }
在上述代碼中,我們首先通過ObjectMapper對象調用enable方法打開格式化輸出模式。然后,我們定義了一個JSON字符串,該字符串包含了姓名、年齡和性別這三個屬性。接著,我們使用ObjectMapper對象的readValue方法將JSON字符串轉換為Java對象。最后,我們使用ObjectMapper對象的writeValueAsString方法將Java對象轉換為格式化的JSON字符串。
輸出結果如下:
{ "name" : "張三", "age" : 18, "gender" : "男" }
可以看到,JSON字符串的屬性名和屬性值都被格式化輸出了,使得JSON對象更加易讀。