繁体   English   中英

将JSON转换为Java对象时出现设置器问题

[英]Setter issue while converting JSON to Java Object

我正在尝试使用com.fasterxml.jackson.core将以下简单JSON转换为Java Object。 我对bonusAmount字段设置器方法有疑问。

JSON:

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

Java类:

@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;
}

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

那是因为您已使用@JsonProperty("bonusamount")重命名了字段,这意味着Jackson搜索了一个名为setBonusamount的方法(第一个字符为toUpperCase,其余保持不变)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM