我有一个或多或少是一个围绕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 –