Jackson @JsonIgnoreType批注 可用于在序列化 过程中忽略 类 ,并且可以标记在序列化和反序列化 JSON对象时要忽略的类的所有属性 或字段 。
@Target(value={ANNOTATION_TYPE,TYPE}) @Retention(value=RUNTIME) public @interface JsonIgnoreType
import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JsonIgnoreTypeTest { public static void main(String args[]) throws IOException { Employee emp = new Employee(); ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp); System.out.println(jsonString); } } //员工阶层 class Employee { @JsonIgnoreType public static class Address { public String firstLine = null; public String secondLine= null; public String thirdLine = null; @Override public String toString() { return "Address{" + "firstLine='" + firstLine+ '\'' + ", secondLine='" + secondLine+ '\'' + ", thirdLine='" + thirdLine + '\'' + '}'; } } // end of Address class public long empId = 115; public String empName = "Raja Ramesh"; public Address empAddress = new Address(); @Override public String toString() { return "Employee{" + "empId=" + empId + ", empName='" + empName + '\'' + ", empAddress=" + empAddress + '}'; } }
输出结果
{ "empId" : 115, "empName" : "Raja Ramesh" }