簡體   English   中英

使用 lombok 和 jackson 預處理 json

[英]Preprocess json with lombok and jackson

我正在使用 lombok 和 jackson 一起。 我需要用這種結構預處理一個 json。 順便說一句,我無法更改 json 結構。

[
    {
        "value1": "INC12345",
        "value2": "12345",
        "task": [
            {
                "status": "A",
                "typeOfClass": "Membership"
            },
            {
                "status": "D",
                "reverseEnum": 1,
                "typeOfClass": "Reverse"
            }
        ]
    }
]

有什么問題? 好吧,我需要在收到請求時處理任務列表,以使用屬性typeOfClass定義每個任務的 object 類型,因為我使用的是不同類型的 class,可以接收會員類型、反向類型等,而且這個類沒有任何共同點。 這是我的 java class。

@Data
@JsonDeserialize(builder = Incident.IncidentBuilder.class)
@Builder(builderClassName = "IncidentBuilder", toBuilder = true)
public class Incident {

  @NotNull
  private String value1;

  @NotNull
  private BigInteger value2;

  @NotNull
  private List<Object> task;

  @JsonPOJOBuilder(withPrefix = "")
  public static class IncidentBuilder {
  }

}

我對其他屬性沒有問題,但是當我調試時,我可以看到任務列表是LinkedList ,所以我需要預處理該列表以創建具有特定類型對象的列表。 我知道如何使用 jackson 創建自定義解串器,並且我正在尋找使用 lombok 的類似解決方案以避免大量代碼。

我認為建設者可以幫助我,但我迷路了,無法為我的問題編寫一個好的解決方案。

Java中, List是屬於同一class類型的對象的集合。

由於您的Type元素包含它所屬的 object,我假設有一個頂級父 class 是所有type對象的父級。

因此,我建議您使用List<ParentClass> task ,而不是將其聲明為List<Object> task task 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM