Annotation @JsonIgnoreType của Jackson dùng để bỏ qua một class trong quá trình serialization và nó đánh dấu tất cả properties hoặc fields của class bị bỏ qua khi serializing và deserializing JSON object.
Cú pháp
@Target(value={ANNOTATION_TYPE,TYPE}) @Retention(value=RUNTIME) public @interface JsonIgnoreType
Ví dụ
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); } } // Employee class 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 + '}'; } }
Kết quả
{ "empId" : 115, "empName" : "Raja Ramesh" }