2 回答
TA贡献1876条经验 获得超6个赞
您可以通过使用@JsonProperty字段上方的注释来解决此问题,如下所示:
...
@JsonPropety(value = "Amount")
private Double amount;
...
或者,您可以按照评论中的建议,重命名您的属性以小写字母开头(在 VM 中和传入中json)@OrangeDog。
TA贡献1946条经验 获得超4个赞
您的类定义了一个名为的属性meterNumber,但您的 JSON 对象却说MeterNumber。
如果您必须MeterNumber在 JSON 中添加@JsonProperty注释,则需要添加注释。
以大写字母开头的字段名称违反 Java 和 JSON 命名约定。
顺便说一句,您可以通过使用Lombok来避免所有样板:
@Data
public class ZesaRequest {
@JsonProperty("Amount")
private Double amount;
@JsonProperty("MeterNumber")
private String meterNumber;
@JsonProperty("PaymentAccountNumber")
private String paymentAccountNumber;
@JsonProperty("PaymentAccountDetails")
private String paymentAccountDetails;
@JsonProperty("PaymentMethod")
private int paymentMethod;
@JsonProperty("MobileNumber")
private String mobileNumber;
@JsonProperty("AgentAccountDetails")
private String agentAccountDetails;
@JsonProperty("TransactionType")
private int transactionType;
}
你也可能不想要"PaymentAccountDetails":"null". 它应该是"PaymentAccountDetails":null,或者完全省略。
添加回答
举报