使用 Jackson 将 XML 反序列化为对象 Y/N 到 true/false 布尔值

Deserializing XML to Object using Jackson mapping Y/N to true/false boolean

我需要将 xml 中列为 Y/N 的元素映射到布尔值 (true/false)。

xml 中的一个元素是:

<parent_node>
  <due_override_flag>N</due_override_flag>
  ...more elements
</parent_node>

我需要将 'N'/'Y' 映射到布尔值 false/true 这是我要映射到的 class 元素:

@JsonRootName("trailer_standard_loads")
@JsonIgnoreProperties(ignoreUnknown=true)
public class StandardLoad {
    @JsonProperty("trailer_load_seq")
    private Integer trailerLoadSeq;
    private String createdBy;
    private ZonedDateTime createdDt;
    private String updatedBy;
    private ZonedDateTime updatedDt;
    @JsonProperty("due_override_flag")
    private Boolean dueOverrideFlag;
}

我有标准 getter 和二传手。 我从文档中不明白如何映射 Y = true; N = 假;

在 setter 方法中添加该逻辑

@JsonRootName("trailer_standard_loads")
@JsonIgnoreProperties(ignoreUnknown=true)     
  public class StandardLoad {
  @JsonProperty("trailer_load_seq")
  private Integer trailerLoadSeq;
  private String createdBy;
  private ZonedDateTime createdDt;
  private String updatedBy;
  private ZonedDateTime updatedDt;

  private Boolean dueOverrideFlag;

    @JsonProperty("due_override_flag")
    public void setDueOverrideFlag(String value)  {

     this.dueOverrideFlag = value.equalsIgnoreCase("Y) ? true : false;

      }

     public Boolean getDueOverrideFlag() {

      return this.dueOverrideFlag;

      }
  }