如何使用混入功能?
http://wiki.fasterxml.com/JacksonMixInAnnotations
http://www.cowtownprer.com/blog/archives/2009/08/entry_305.html
import org.prehaus.jackson.annotate.JsonAutoDetect.Visibility;import org.prehaus.jackson.annotate.JsonMethod;import org.prehaus.jackson.map.ObjectMapper;import org.prehaus.jackson.map.SerializationConfig;import org.prehaus.jackson.map.annotate.JsonView;public class JacksonFoo{ public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper().setVisibility(JsonMethod.FIELD, Visibility.ANY) .configure(SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION, false); mapper.getSerializationConfig().addMixInAnnotations(Bar.class, BarMixIn.class); mapper.setSerializationConfig(mapper.getSerializationConfig().withView(Expose.class)); System.out.println(mapper.writevalueAsString(new Bar())); // output: {"b":"B"} }}class Bar{ String a = "A"; String b = "B";}abstract class BarMixIn{ @JsonView(Expose.class) String b;}// Used only as JsonView marker. // Could use any existing class, like Object, instead. class Expose {}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)