JSON 转 Java Class
生成 Java Record 或 POJO Class、嵌套模型与可选 Jackson 注解
字段可选性根据对象数组中的缺失值和 null 推断;混合类型会降级为通用类型,生成后仍需按真实 API 契约复核。
生成的 Java models 会显示在这里。
工具说明
JSON 转 Java Class 会把 JSON 对象或代表性对象数组转换为嵌套 Java 模型。可以选择紧凑 Record,或带 Private Field、Getter 和 Setter 的可变 POJO。数组映射为 List,整数和小数映射为 Long 与 Double,布尔值映射为 Boolean,嵌套对象生成命名模型,不兼容混合值降级为 Object。可选 Jackson @JsonProperty 会在 Java 标识符规范化后保留原始 Key。生成器不会推断 Bean Validation、Lombok、日期、BigDecimal、多态、Package 名或框架特定 Nullability,因此应把输出当作可编译草稿,而非最终 API 契约。
场景配方
为 Jackson API Client 起草 DTO
目标:在明确选择 Record 或可变 Class 时保留线上字段名
- 粘贴代表性对象,并包含缺少可选属性的记录。
- 选择 Record 或 POJO,开启 Jackson 注解并设置响应根类型名。
- 生成模型后添加 Package 和校验策略,替换通用数字/日期映射,再编译测试。
结果:得到字段名精确、反映已观察可选性的统一 DTO 草稿。
常见问题
可以生成 Java Record 而不是 POJO 吗?
可以,Record 模式更紧凑;Class 模式输出 Private Field、Getter 与 Setter。
为什么使用 Long 和 Boolean 装箱类型?
装箱类型可表达 null,也避免 Record 和 DTO 中基本类型默认值造成歧义。
怎样保留原始 JSON Key?
开启 Jackson 注解后会添加带精确源 Key 的 @JsonProperty。
会生成嵌套模型吗?
会在同一输出中生成关联的顶层模型声明,名称根据属性确定性生成。
能推断 BigDecimal、Instant 或校验注解吗?
不能,数字和字符串语义需要领域知识,应在生成后调整。
样例数据会上传吗?
不会,JSON 解析、样例合并与 Java 源码生成都在本地完成。
继续浏览