首页 > 解决方案 > 对象映射器序列化在序列化字符串中创建附加字段

问题描述

我正在使用 序列化 java 对象ObjectMapper writeValueAsString,我的 java pojo 如下所示 -

编辑 - 将注释移动到 getter 方法。

public class RestrictRecharge121SMS {
   
    public String MSG;
    public String Timestamp;

    public RestrictRecharge121SMS(String msg,String timestamp) {
        this.Timestamp = timestamp;
        this.MSG=msg;
    }

    @JsonProperty("MSG")
    public String getMSG() {
        return MSG;
    }

    public void setMSG(String MSG) {
        this.MSG = msg;
    }

    @JsonProperty("Timestamp")
    public String getTimestamp() {
        return Timestamp;
    }

    public void setTimestamp(String timestamp) {
        Timestamp = timestamp;
    }

}

下面是序列化它的代码-

private static final ObjectMapper mapper = new ObjectMapper();
RestrictRecharge121SMS sms=new RestrictRecharge121SMS(notification.getRTN(),getTransactionTime());
String message = mapper.writeValueAsString(sms);

在序列化我得到这样的输出字符串 -

{"MSG":"Hi..","msg":"Hi..","Timestamp":"2020-07-04 11:11:36","timestamp":"2020-07-04 11:11:36"}

如何强制对象映射器限制在骆驼情况下创建的附加键。

期待-

{"MSG":"Hi..","Timestamp":"2020-07-04 11:11:36"}

标签: javaspring-bootserializationdeserializationobjectmapper

解决方案


推荐阅读