gpt4 book ai didi

java - jackson :将对象视为原始

转载 作者:搜寻专家 更新时间:2023-11-01 01:54:24 26 4
gpt4 key购买 nike

我有一个类,它或多或少是一个围绕 double 的包装类。当我通过 jackson 序列化我的类(class)时,我会收到类似的内容:{“value”:123.0}。我基本上想要发生的是, jackson 只给我 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

但是 - 你知道 - 我已经扩展了另一个抽象类。我怎样才能得到预期的结果?

最佳答案

因为我确定有人可以重用它,所以我将回答我自己的问题(感谢 Gavin 为我指路):

public class TestValue {
private final Double d;

public TestValue(Double d) {
this.d = d;
}

@JsonValue
public Double getValue() {
return d;
}
}

关于java - jackson :将对象视为原始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14180922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com