JSON TO JAVA

JSON 转 Java:生成 class、List 和嵌套数据模型。

将接口响应转成 Java 数据模型初稿,适合 Spring Boot、Android 和服务端接口开发。生成结果是基础字段定义,不包含框架注解或访问器。

输入 JSON 后生成 Java class。
JSON 输入0 字符 · 0 行
Java 输出class
Java 数据模型会显示在这里。
当前生成结果包含 import java.util.List;、public 字段和嵌套 class。getter/setter、Lombok、record 与 Jackson 注解由项目规范决定。

从 JSON 样例会生成哪些 Java 类型?

JSON 值默认 Java 类型需要留意什么
"A-01"String日期、UUID、金额字符串可能需要换成领域类型。
42Integer大 ID、计数和金额不一定适合 Integer。
89.9Double涉及金额时通常应改为 BigDecimal
[{"sku":"A"}]List<Item>数组只按第一个元素推断,异构数组需要人工建模。
{"city":"昆明"}独立 class按项目约定决定是否改为 static inner class、record 或 DTO。

生成代码后,Spring Boot 项目通常还要补什么?

Jackson 字段映射

接口使用 user_name、连字符或缩写时,按项目策略增加 @JsonProperty,或配置全局命名策略。

访问器或 Lombok

当前结果是 public 字段。若项目使用私有字段、getter/setter、@Data 或 record,请按团队规范调整。

时间与金额

根据接口定义转换为 InstantLocalDateTimeBigDecimal 等,不要只依赖样例值。

运行时验证

类型生成不保证反序列化成功。至少使用一份真实响应运行 Jackson 或 Gson 测试。

这不是完整的 Java DTO 生成器

页面不会生成包名、构造器、builder、验证注解、继承关系或 Jackson 自定义反序列化器。它解决的是“拿到 JSON 后先得到一份能编辑的字段清单”,不是替你定义系统边界。

对于外部接口,先把生成类放进临时 DTO 层并跑反序列化测试,再决定是否进入领域模型。不要直接把第三方响应形状当作核心业务对象。

常见问题

会生成 getter、setter 或 Lombok 注解吗?
不会。当前生成 public 字段和基础 class。访问器、Lombok 或 record 应由项目代码风格决定。
为什么没有 JsonProperty 注解?
工具无法知道你的项目使用 Jackson、Gson 还是其他框架,也不能判断全局命名策略。字段映射需要在项目中明确。
空数组和 null 应该怎么处理?
空数组没有元素类型,null 也没有真实字段类型。请根据接口文档手动替换通用类型并补充默认策略。