我有一個或多或少是一個圍繞double的包裝類。當我通過jackson序列化我的類時,我會收到類似於:{「value」:123.0}。我基本上想要發生的是,傑克遜只給我123.0。如果我可以擴展Number,我的問題就可以解決,但由於我已經擴展了另一個類,所以這不是一個選項。Jackson:將對象當作原始對象
類:
@JsonIgnoreProperties(ignoreUnknown = true)
@SuppressWarnings("unused")
public class TestValue {
@JsonProperty
private final Double d;
public TestValue(Double d) {
this.d = d;
}
}
結果:
{
"d" : 123.0
}
什麼工作像預期:
public class TestValue extends Number {
private final Double d;
public TestValue(Double d) {
this.d = d;
}
public double doubleValue() {
return d;
}
public float floatValue() {
return d.floatValue();
}
public int intValue() {
return d.intValue();
}
public long longValue() {
return d.longValue();
}
public String toString() {
return d.toString();
}
}
..這導致:123.0
但是 - 你知道 - 我已經在延伸另一個抽象類。我怎樣才能得到expteced結果?
謝謝,這導致我到正確的方向。其實它讓我到另一個問題:http://stackoverflow.com/questions/7161638/how-do-i-use-a-custom-serializer-with-jackson所以解決方案更簡單使用@JsonValue annontation是對我來說足夠了 - 謝謝! – KIC
很高興幫助。 @KIC –