最近在使用Java進行JSON數(shù)據(jù)解析和輸出的時候,發(fā)現(xiàn)有些字段的值是null,但是在轉(zhuǎn)換成JSON格式的時候仍然會被輸出,而且還會占用帶寬。于是就想到了如何排除null字段。
//創(chuàng)建一個ObjectMapper對象 ObjectMapper mapper = new ObjectMapper(); //將null值的屬性從序列化結果中省略掉 mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); //將Java對象序列化為JSON字符串 String result = mapper.writeValueAsString(obj);
我們可以使用ObjectMapper類將Java對象序列化成JSON字符串。在這個類中,有一個setSerializationInclusion方法,通過這個方法,我們可以設置如何序列化null值的屬性。
JsonInclude.Include.NON_NULL參數(shù)告訴ObjectMapper序列化Java對象時,將忽略null值的屬性。
使用這種方式輸出JSON字符串時,就可以排除所有的null字段,減小了JSON數(shù)據(jù)的大小,提高了傳輸效率。