首页 > 解决方案 > JsonProperty 在 Spring Boot 中被忽略

问题描述

我想将我的 json 响应 _sddInfo 更改为 dropOffShippingInfo 但低于@JsonProperty被忽略。我该如何解决这个问题?

  @JsonInclude(JsonInclude.Include.NON_NULL)
    public class EligibleShippingMethods implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        @JsonProperty("dropOffShippingInfo")
        private DropOffShippingInfo _sddInfo;
    
        public DropOffShippingInfo get_sddInfo() {
            return _sddInfo;
        }
    
        public void set_sddInfo(DropOffShippingInfo _sddInfo) {
            this._sddInfo = _sddInfo;
        }

}

回复

"eligibleShippingMethods": [
        "_sddInfo": {
          "startTime": "2020-08-21T15:00:00Z",
          "endTime": "2020-08-21T17:00:00Z",
          "customerScheduleType": "window"
        }
    ]

标签: javaspring-boot

解决方案


在过去,Jackson 可能支持一个名称用于序列化,另一个名称用于反序列化。不再。因此,你应该用 注释一个 getter @JsonProperty("dropOffShippingInfo"),它期望传入的 json 有效负载也有dropOffShippingInfo


推荐阅读