将JSON数组编组为对象,而忽略空值

问题描述 投票:0回答:1

我从外部源获得一个JSON对象作为数组,看起来像这样:[13823108,"Text1","Text2",null,null,1585730520000,1585753742000,null,null,"COMPLETED",null]

数组在这些位置上总是有null值,这就是为什么我想忽略那些。

我的Java对象应该看起来像这样:

@JsonFormat(shape = JsonFormat.Shape.ARRAY)
public class MyJsonObject {
  private final String id;
  private final String textField1;
  private final String textField2;
  private final Date started;
  private final Date updated;
  private final String status;

  @JsonCreator
  public MyJsonObject(
      @JsonProperty("id") final String id,
      @JsonProperty("textField1") final String textField1,
      @JsonProperty("textField2") final String textField2,
      @JsonProperty("started") final Date started,
      @JsonProperty("updated") final Date updated,
      @JsonProperty("status") final String status) {
    this.id = id;
    this.textField1 = textField1;
    this.textField2 = textField2;
    this.started = started;
    this.updated = updated;
    this.status = status;
  }
[...]
}

[当我尝试解组Json时,将使用null值,这将忽略其他值:

MyJsonObject{id='13105603', textField1='Text1', textField2='Text2', started=null, updated=null, status='1569348774000'}

是否有一种方法可以告诉ObjectMapper忽略数组的null值?不编写特定的反序列化器就可以实现吗?

我已经尝试过@JsonInclude(JsonInclude.Include.NON_NULL),但没有任何效果。

java json jackson deserialization
1个回答
0
投票

您是否在类级别或字段级别尝试了@JsonInclude(JsonInclude.Include.NON_NULL)?

有基本教程对此herehere进行了说明>

热门问题
推荐问题
最新问题