http://wenku.baidu.com/link?url=-Pcb0NwzGWhqHRz6lZGP6NRJonpR9kf8HoTcLYNjHn8vHuVvLQ7Ea1tz-Dsfd5p70r5eUGJXte_61Hgx8mMx-oJN0huQS5WA14ENiIR5qxCjava
根據文庫中介紹的解決方案作的,app
package com.jizhi.test.type; import java.util.ArrayList; import java.util.List; import org.junit.Test; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; 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 JsonTest { @Test public void filterTest() throws JsonProcessingException { Person person = new Person(); person.set("炸了", true, 250); ObjectMapper mapper = new ObjectMapper(); mapper.setFilters(filter("objectFilter", "name", "persons")); mapper.addMixInAnnotations(Person.class, ObjectFilterMixIn.class); System.out.println(mapper.writeValueAsString(person)); } public FilterProvider filter(String filterName, String... propertyes) { // 過濾不想要的 FilterProvider filter = new SimpleFilterProvider().addFilter( filterName, SimpleBeanPropertyFilter.serializeAllExcept(propertyes)); // 過濾想要的 /* * FilterProvider filter = new SimpleFilterProvider().addFilter( * filterName, SimpleBeanPropertyFilter.filterOutAllExcept(propertyes); */ return filter; } } @JsonFilter("objectFilter") interface ObjectFilterMixIn { } class Person { private String name; private boolean gender; private int age; private List<Person> persons = new ArrayList<Person>(); public void set(String name, boolean gender, int age) { this.name = name; this.gender = gender; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isGender() { return gender; } public void setGender(boolean gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<Person> getPersons() { return persons; } public void setPersons(List<Person> persons) { this.persons = persons; } }