Importance of @JsonFilter annotation in Java?
句法
1 2 3 | @Target(value={ANNOTATION_TYPE,TYPE,METHOD,FIELD,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonFilter |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ser.FilterProvider; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; public class JsonFilterAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ObjectMappermapper = new ObjectMapper(); FilterProviderfilterProvider = new SimpleFilterProvider().addFilter("customFilter", SimpleBeanPropertyFilter.filterOutAllExcept("empName")); String jsonString = mapper.writer(filterProvider).writeValueAsString(new FilterBean()); System.out.println(jsonString); } } @JsonFilter("customFilter") class FilterBean { public int empId = 110; public String empName ="Raja Ramesh"; public String gender ="male"; } |
输出量
1 | {"empName":"Raja Ramesh"} |