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

Java中使用Postman传递JSONObject类型参数报错的原因是什么

报错产生原因
  • 你当前项目使用的JSON反序列化框架(Spring生态默认使用Jackson)将org.json.JSONObject识别为普通Java POJO类处理,反序列化时会尝试将请求JSON中的键与目标类的属性、setter方法做映射匹配。org.json.JSONObject本身没有和请求中的pepsi字段对应的属性或setter方法,因此触发了未识别字段异常。
  • org.json.JSONObject不属于Jackson原生支持的动态JSON类型,因此框架不会把传入的嵌套JSON结构直接封装为JSONObject实例,而是按照普通POJO的规则校验字段合法性。
可选解决方案
  1. 替换字段类型为Jackson原生支持的动态JSON类型com.fasterxml.jackson.databind.JsonNode,无需额外配置即可接收任意结构的JSON对象:
public class FieldProviderDTO {
    private JsonNode information;

    public JsonNode getInformation() {
        return information;
    }

    public void setInformation(JsonNode information) {
        this.information = information;
    }
}
  1. 替换字段类型为Map<String, Object>,也可以动态接收任意键值对结构的JSON数据。
  2. 若必须使用org.json.JSONObject,需额外引入jackson-datatype-json-org依赖,并将该模块注册到Jackson的全局反序列化配置中,即可让Jackson支持org.json类型的转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:54:01