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

Spring MVC接收嵌套List<Pojo>请求时内部字段为null如何解决

问题排查解决方案
  • 优先确认注解包导入正确
    @JsonProperty注解需导入com.fasterxml.jackson.annotation.JsonProperty,如果错误导入了fastjson、Gson等其他JSON库的同名注解,Spring MVC默认使用的Jackson不会识别,会导致字段绑定失败。

  • 检查ChildPojo字段的命名匹配规则
    Jackson默认采用小驼峰命名匹配,会将get/set方法前缀去除后首字母小写作为匹配的JSON键名。如果你的ChildPojo字段定义为First/Second/Third(首字母大写),且请求JSON中对应键名也是首字母大写,需要给每个字段添加@JsonProperty("First")注解显式指定绑定的键名,或者将JSON键名改为小驼峰格式first/second/third即可完成匹配。

  • 确认ChildPojo的基础结构符合反序列化要求

    1. 类必须提供公共无参构造方法:如果自行编写了带参构造方法,Java不会自动生成默认无参构造,Jackson无法实例化对象会导致所有字段赋值为null
    2. 确认get/set方法命名符合规范:比如字段对应的get方法为getFirst()、set方法为setFirst(String first),命名错误会导致Jackson无法找到读写入口
  • 核对请求JSON结构是否完全匹配POJO层级
    正确的请求体结构参考如下:

{
  "ChildPojoExample": [
    {
      "first": "测试值1",
      "second": "测试值2",
      "third": "测试值3"
    }
  ]
}

确认没有多嵌套层级、键名拼写错误、数组结构错误等问题。

  • 检查Jackson全局配置是否冲突
    如果项目配置了全局Jackson命名策略(例如下划线转驼峰、全小写命名),会覆盖默认的小驼峰匹配规则。可以在application.yml/application.properties中添加配置开启反序列化报错提示,快速定位问题:
spring.jackson.deserialization.fail-on-unknown-properties=true

开启后反序列化出现字段不匹配、结构错误时会直接抛出异常,可通过异常栈定位具体问题点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 18:36:07