-1
我需要反序列化JSON響應反序列化JSON響應多個對象
response: {
speed: 40,
distance: 20,
time: 3
}
到3個不同的對象,那就是
Class Speed implements Base{
int speed;
}
Class Distance implements Base{
int distance;
}
Class Time implements Base{
int time;
}
這是我到目前爲止,
@jsondeserialize(using = customdeserializer.class)
Class Response implements Base{
...
}
Class customdeserializer extends JsonDeserializer<List<Base>> {
@Override
public List<Base> deserialize(...) {
//read Jsonparser
// construct objects for Speed, Time and Distance
//return
}
}
Class Context {
public List<Base> converter(..) {
ObjectMappper mapper = new ObjectMapper()
List<Base> params = objectMapper.readValue(jsonValue, new TypeReference<List<Response>>() { });
return params;
}
}
問題:我的自定義序列化程序永遠不會被調用。我證實了這一由具有調試點
我使用FasterXML傑克遜
任何想法如何做到這一點使用自定義解串器。你的情況
不幸的是,我無法修改響應。它來自第三方服務。 – user3571458
我認爲那麼你需要改變你的實現,就像一個擁有所有3個對象的Has-A關係的船隻 –
是的,那是我的最後一個選擇 – user3571458