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

jsonschema2pojo生成类异常:仅首字段类型正确,其余为Object

问题原因分析与解决办法

嘿,这个问题其实一眼就能找到根源——问题出在你JSON Schema里的类型关键字大小写上!

JSON Schema规范明确要求,type字段的取值必须是小写的,比如"string"、"number"、boolean这类。而你第一个Schema里的bar和baz字段用了大写的"String",这完全不符合JSON Schema的标准格式:

{
  "type":"object",
  "properties": {
    "foo": { "type": "string" }, // 小写,符合规范,能被正确识别
    "bar": { "type": "String" }, // 大写,工具无法识别
    "baz": { "type": "String" }  // 大写,工具无法识别
  }
}

jsonschema2pojo是严格遵循JSON Schema规范的工具,当它遇到无法识别的类型值时,就会默认把字段类型设为Object——这就是为什么只有第一个用小写"string"的foo生成了正确的String类型,其他两个字段变成了Object。

修正方案

把所有类型值改成小写的"string"就可以解决问题,修正后的Schema如下:

{
  "type":"object",
  "properties": {
    "foo": { "type": "string" },
    "bar": { "type": "string" },
    "baz": { "type": "string" }
  }
}

另外你提供的第二个Schema,所有字段的类型都是小写的"string",完全符合规范,用它生成的Java类里所有字段都会是String类型,不会再出现Object的情况啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:43:03