期間,我有一個對象結構如下所示:傑克遜設置值反序列化
public class Product {
int id;
String name;
Size[] sizes;
boolean organic;
}
public class Size {
int id;
String value;
@JsonIgnore String info;
}
在解析JSON的產品類,我想每個尺寸的信息設置爲String
"Organic"
。在organic
屬性的setter中,我檢查值並遍歷大小,爲每個大小設置信息。
@JsonProperty("organic")
public void setOrganic(boolean organic) {
this.organic = organic;
if (organic)
for(Size size : sizes) size.info = "Organic";
}
首先,這種做法似乎是脆的,因爲它依賴於JSON屬性的順序上,其次,它並不總是似乎工作。對於JSON具有更多屬性的生產環境,我似乎可以在子對象(此處爲Size
)上設置屬性,並在解析過程中讀取並記錄它們,但是當我從最終的反序列化對象中讀取它們時值始終爲空。同樣,這種行爲似乎與我設置測試的較小測試案例不同。
有誰知道更好的方法來做到這一點?
無法初始化與「有機」的信息? –
哦,對不起...錯過了條件。 –
我看到.......... –