将 JSON 转换为 Java 对象时出现资源库问题



我正在尝试使用com.fasterxml.jackson.core将下面的简单JSON转换为Java对象。我对奖金金额字段设置器方法有问题。

杰森:

{"amount":332.5, "bonusamount":3, "action":"Spend"} 

爪哇类:

@JsonIgnoreProperties(ignoreUnknown = true)
public class GameRequest {
@JsonProperty("amount")
private BigDecimal amount;
@JsonProperty("bonusamount")
private BigDecimal bonusAmount;
@JsonProperty("action")
private String action;
.....
public BigDecimal getBonusAmount() {
return bonusAmount;
}
public void setBonusAmount(BigDecimal bonusAmount) {
this.bonusAmount = bonusAmount;
}

当我尝试使用它时,奖金金额字段的值为 NULL,但是如果我将 setter 方法的名称从 setBonusAmount 更改为 setBonusamount,那么它可以工作。有人可以告诉我为什么吗?

这是因为您使用@JsonProperty("bonusamount")重命名了字段,这意味着杰克逊搜索名为setBonusamount的方法(第一个字符到大写,其余保持不变(

最新更新