You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jackson反序列化报错:未识别字段'status'未标记可忽略求解决

解决Jackson未识别字段"status"的问题

错误原因

你遇到的UnrecognizedPropertyException是因为返回的JSON数据里包含status字段,但你的KYCScoreIndResponse实体类没有对应属性,Jackson默认会对未识别字段抛出错误。之前添加@JsonProperty注解没用,是因为这个注解仅用于映射已知的JSON字段和Java属性,无法处理完全不存在的未知字段。

解决方案

三种常用处理方式,按需选择:

  1. 添加对应字段
    如果status是业务需要的字段,直接在类中新增属性:
@Data 
@JsonInclude(JsonInclude.Include.NON_NULL) 
public class KYCScoreIndResponse {
    // 原有属性...
    private String status; // 对应JSON中的status字段
    @JsonIgnore private HttpStatus httpStatus;   
    private Links _links;
}
  1. 类级别忽略未知字段
    仅让当前类忽略所有未识别字段,在类上添加注解:
@Data 
@JsonInclude(JsonInclude.Include.NON_NULL) 
@JsonIgnoreProperties(ignoreUnknown = true) // 新增此注解
public class KYCScoreIndResponse {
    // 原有属性...
}
  1. 全局配置忽略未知字段
    如果多个类都存在这类问题,可配置全局Jackson规则:
  • Spring Boot项目在application.properties中添加:
    spring.jackson.deserialization.fail-on-unknown-properties=false
    
  • 或通过配置类自定义ObjectMapper:
    @Configuration
    public class JacksonConfig {
        @Bean
        public ObjectMapper objectMapper() {
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            return objectMapper;
        }
    }
    

内容的提问来源于stack exchange,提问作者Avinash Avi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:58:10