在開發(fā)過程中,我們經(jīng)常遇到后端返回的 JSON 數(shù)據(jù)中會存在一些字段值為 null 的情況。而在 Java 中使用 Jackson 處理 JSON 時,會將這些 null 字段忽略掉。為了避免這種情況,我們可以使用 Jackson 提供的一個注解——@JsonInclude(JsonInclude.Include.NON_NULL)
。
使用該注解后,如果有字段值為 null,那么在序列化成 JSON 字符串時,就會將這個字段的鍵值對從結(jié)果集中刪除。
@JsonInclude(JsonInclude.Include.NON_NULL) public class User { private String name; private Integer age; private String gender; //省略 getter 和 setter 方法 }
上述代碼中,我們在 User 類上使用了@JsonInclude(JsonInclude.Include.NON_NULL)
注解,表示只有當(dāng)字段值不為 null 時,才會序列化到 JSON 中。
下面是一個示例:
User user = new User(); user.setName("Tom"); user.setAge(null); user.setGender("male"); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); System.out.println(json);
在輸出結(jié)果中,我們可以看到 age 字段被忽略了:
{"name":"Tom","gender":"male"}
通過使用上述注解,我們可以在返回 JSON 數(shù)據(jù)時,確保字段的準(zhǔn)確性和完整性。
上一篇css3文字縱向無縫滾動
下一篇css3文字溢出加省略號