我正在使用 ObjectMapper 将 Java 对象转换为 JSON,但它提供了我的 java 类中不存在的额外属性。
下面是 Java 对象生成器类。
@JsonDeserialize(builder = OrderSummary.Builder.class)
public class OrderSummary extends ABC {
@JsonProperty("orderCode")
private String orderCode;
@JsonProperty("transactionAmount")
private long transactionAmount;
@JsonProperty("transactionCurrency")
private String transactionCurrency;
@JsonProperty("isPayout")
private boolean isPayout;
private OrderSummary(Builder builder) {
super(builder);
orderCode = builder.orderCode;
transactionAmount = builder.transactionAmount;
transactionCurrency = builder.transactionCurrency;
isPayout = builder.isPayout;
}
public static Builder newBuilder() {
return new Builder();
}
public String getOrderCode() {
return orderCode;
}
public long getTransactionAmount() {
return transactionAmount;
}
public String getTransactionCurrency() {
return transactionCurrency;
}
public boolean isPayout() {
return isPayout;
}
@JsonPOJOBuilder
public static final class Builder extends ABC.Builder<Builder> {
private String orderCode;
private long transactionAmount;
private String transactionCurrency;
private boolean isPayout;
private Builder() {
}
public Builder withOrderCode(String val) {
orderCode = val;
return this;
}
public Builder withTransactionAmount(long val) {
transactionAmount = val;
return this;
}
public Builder withTransactionCurrency(String val) {
transactionCurrency = val;
return this;
}
public Builder withIsPayout(boolean val) {
isPayout = val;
return this;
}
public OrderSummary build() {
return new OrderSummary(this);
}
@Override
protected Builder self() {
return this;
}
}
}
它扩展了 1 个只有 2 个属性的类
但是当我使用 Object Mapper 对象转换为 json 时,低于 json
{
"payout": false,
"transactionCode": "ABCJD",
"uniqueIdentifier": 78632,
"orderCode": "12345",
"transactionAmount": 1200,
"transactionCurrency": "EUR",
"isPayout": false,
}
我不确定
"payout": false,
是如何添加到 json 中的。
我尝试转换另一个没有
boolean
的 java 对象,它工作正常,没有任何问题。
您能帮我解决这个转换问题吗?
我不知道你所做的整个过程是什么,以及如何做的。
一些可能的解决方案
将此注释添加到序列化类中
@JsonIgnoreProperties({"payout"})
使用google gson,它在所有软件工程术语中非常高效、非常安全并且非常好的序列化器。