Annotation @JsonInclude của Jackson dùng để loại trừ các properties hoặc fields của class dưới điều kiện nhất định, được xác định bằng enum JsonInclude.Include. Enum này chứa các hằng số như "ALWAYS", "NON_DEFAULT", "NON_EMPTY" và "NON_NULL" để quyết định có loại trừ property/field hay không.
Cú pháp
public static enum JsonInclude.Include extends Enum<JSonInclude.Include>
Ví dụ
import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JsonIncludeTest { public static void main(String args[]) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); Employee emp = new Employee(); String jsonString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp); System.out.println(jsonString); } } // Employee class @JsonInclude(JsonInclude.Include.NON_EMPTY) class Employee { public int empId = 115; public String empName = null; @Override public String toString() { return "Employee{" + "empId=" + empId + ", empName='" + empName + '\'' + '}'; } }
Kết quả
{ "empId" : 115 }