如何将 POJO 映射到几个 JSON 表示 [英] How to map POJO to several JSON presentation

查看:25
本文介绍了如何将 POJO 映射到几个 JSON 表示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 POJO 映射到多个 JSON 表示?

How to map POJO to several JSON presentation?

我正在使用 Jackson.

我想要类似下面的代码

@JsonIgnorePropertiesStreamA({ "value2" })
@JsonIgnorePropertiesOtherWay({ "value3" })
public class Value {
  public int value;
  public int value2;
  public int value3;
}

如何对杰克逊做到这一点?或者其他哪些图书馆可以做到这一点?

How to do that with Jackson? or What other libraries could do that?

推荐答案

您使用 JSON 视图

class Views {
    static class PublicView { }
    static class StreamA extends PublicView { }
    static class OtherWay extends PublicView { }
}

public class Value {
    @JsonView(Views.PublicView.class) public int value;
    @JsonView(Views.OtherWay.class) public int value2;
    @JsonView(Views.StreamA.class) public int value3;
}


String json = new ObjectMapper()
              .writerWithView(Views.OtherWay.class)
              .writeValueAsString(valueInstance);

请注意,这些是包容性而不是排他性的;您创建一个包含所需字段的视图.

Note that these are inclusive rather than exclusive; you create a view that includes the fields you want.

这篇关于如何将 POJO 映射到几个 JSON 表示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆