Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将POJO映射到多个JSON表示_Java_Json_Jackson - Fatal编程技术网

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

Java 如何将POJO映射到多个JSON表示,java,json,jackson,Java,Json,Jackson,如何将POJO映射到多个JSON表示 我正在使用 我想要下面的代码 @JsonIgnorePropertiesStreamA({ "value2" }) @JsonIgnorePropertiesOtherWay({ "value3" }) public class Value { public int value; public int value2; public int value3; } 杰克逊怎么做到的?或者其他什么库可以做到这一点?您使用 注意,这些是包容性的,而不是排

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

我正在使用

我想要下面的代码

@JsonIgnorePropertiesStreamA({ "value2" })
@JsonIgnorePropertiesOtherWay({ "value3" })
public class Value {
  public int value;
  public int value2;
  public int value3;
}
杰克逊怎么做到的?或者其他什么库可以做到这一点?

您使用

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

您可以使用


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

请注意,每次构造一个新的对象映射器通常都不是一个好主意,因为它非常昂贵。映射器实例应该被重用。请注意,每次构造一个新的对象映射器通常不是一个好主意——它非常昂贵。应该重用映射器实例。
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);