私は多かれ少なかれダブルの周りを包むクラスであるクラスを持っています。jacksonを介してクラスをシリアル化すると、次のようなものが表示されます:{"value":123.0}。私が基本的に起こりたいのは、そのジャクソンが私にちょうど123.0を与えるということです。Numberを拡張できれば問題は解決しますが、すでに別のクラスを拡張しているため、これはオプションではありません。
クラス:
@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
しかし-ご存知のとおり-私はすでに他の抽象クラスを拡張しています。どうすれば期待される結果を得ることができますか?