使用Jackson JSON视图而不注释原始bean类

使用Jackson JSON视图而不注释原始bean类,第1张

使用Jackson JSON视图而不注释原始bean类

如何使用混入功能?

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 {}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存