[英]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.