GEXNO / 指南 / JSON 转 Java 实体类(POJO)怎么做?在线生成 Jackson/Gson 兼容代码

JSON 转 Java 实体类(POJO)怎么做?在线生成 Jackson/Gson 兼容代码

对接第三方 API 拿到一坨 JSON,手写实体类又累又容易错?本文教你把 JSON 在线转成 Java POJO / Record,支持嵌套对象与数组,本地处理代码不出浏览器。

为什么需要 JSON 转实体类

后端对接第三方接口、前端联调拿到响应样例、消费开放平台的返回值——第一步都是把 JSON 结构落成强类型代码。手写的痛点很具体:字段多、嵌套深、命名风格不统一(snake_case 与 camelCase)、改一版接口就要重写一遍。

生成器把这件事变成「粘贴 → 复制」两步,类型推断、嵌套类拆分、Getter/Setter 全部自动完成。

30 秒上手:粘贴、生成、复制

打开 GEXNO Tools 的 JSON 转 Java 工具,把接口返回的 JSON 样例粘到左侧,右侧立刻生成对应的 Java 类定义,一键复制进项目即可。

代码转换在浏览器本地完成——接口样例里常带真实用户数据、token 结构,本地处理意味着这些内容不会离开你的电脑。

JSON 转 Java 工具:粘贴接口返回的 JSON 样例
左侧粘贴 JSON,右侧即时生成 Java 代码

生成结果长什么样

以用户信息 JSON 为例,工具会生成带私有字段、Getter/Setter 的标准 POJO:嵌套对象会拆成独立的类(样例会生成 Root、User、Profile 三个类),数组映射为 List,null 字段映射为包装类型(Integer/Boolean)而不是基本类型,避免反序列化时空指针。

生成的 Java POJO 代码:Root/User/Profile 三个类与 Getter/Setter
嵌套对象自动拆类,字段类型按 JSON 值推断

生成之后:接进 Spring Boot / Jackson

生成的 POJO 与 Jackson、Gson 开箱即用。Spring Boot 的 @RequestBody 直接把请求体绑到生成的类上;处理第三方响应用 ObjectMapper.readValue(json, User.class)。

两个实用建议:给类加上 @JsonIgnoreProperties(ignoreUnknown = true),防止对方加字段导致反序列化报错;字段名不一致时用 @JsonProperty 显式映射,别依赖猜测。

Java Record 还是传统 POJO?

常见问题

JSON 转 Java 实体类会泄露我的接口数据吗?

取决于工具实现。GEXNO Tools 的转换在浏览器本地运行,粘贴的 JSON 不会上传到任何服务器,可以放心粘贴含真实数据的样例。

生成的代码支持 Jackson 和 Gson 吗?

支持。生成的是标准 POJO 结构,Jackson、Gson、Fastjson 都能直接反序列化;字段名风格不一致时补 @JsonProperty 或 @SerializedName 注解即可。

嵌套对象和数组怎么处理?

嵌套对象会拆成独立的类(如样例会生成 Root、User、Profile 三个类);数组映射为 List,元素类型按需手动细化;值为 null 的字段映射为包装类型,避免基本类型的空指针问题。

能生成带 Lombok 注解的代码吗?

以工具当前输出为准;若不支持,生成标准 POJO 后手补 @Data 或 @Getter/@Setter 也只是几秒钟的事。

snake_case 字段名怎么映射成 camelCase?

两种做法:生成后手动改字段名并加 @JsonProperty("original_name");或先在 JSON 里把键改成 camelCase 再生成,由注解负责线上格式的映射。

打开 JSON 转 Java 工具 →