gpt4 book ai didi

Java "Jackson"JsonMappingException : Can not deserialize instance of float out of FIELD_NAME token

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:24 25 4
gpt4 key购买 nike

与这个类:

public class Products implements Serializable {
private BigDecimal productId;
private float priority;

public float getPriority() {
return priority;
}

public void setPriority(float priority) {
this.priority = priority;
}
}

在对此类 JSON 数据进行反序列化时:

{"productId":47552,"priority":78}

出现这个错误:

org.codehaus.jackson.map.JsonMappingException: 
Can not deserialize instance of float out of FIELD_NAME token
at [Source: org.apache.catalina.connector.CoyoteInputStream@103cf49; line: 1, \
column: 290] (through reference chain: entity.Products["priority"])

但是对于这个数据(围绕优先值引用)

{"productId":47552,"priority":"78"}

效果很好,所以 jackson (1.9.9) 似乎不尊重数值?我怀疑这里有问题。

最佳答案

您将字段优先级声明为 float 类型,并尝试反序列化包含 int 值的 Json。 Jackson 尝试调用一个接受整数值的 setter 函数。所以我们需要像这样添加一个 setter。

public void setPriority(int priority){
this.priority = Float.valueOf(priority);
}

关于Java "Jackson"JsonMappingException : Can not deserialize instance of float out of FIELD_NAME token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196244/

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