JSON 转 Java POJO 工具
从 JSON 生成 Java POJO。可选择开启 Jackson、Lombok 注解,或使用 Java 16+ 的 record。嵌套对象会自动生成嵌套类。
使用方法
- 1 粘贴一个 JSON 对象或数组(如果是数组,会使用第一个元素)。
- 2 为根类命名,并可选择设置包名。
- 3 选择注解风格:Jackson、Lombok,或纯 getter/setter。若需要 Java 16+ 的值类型,可开启 record。
- 4 复制或下载生成的 <code class="font-mono">.java</code> 文件。
为什么使用此工具
- 生成一个完整的 POJO(Plain Old Java Object)——包含字段、getter、setter,以及在合适场景下的 equals/hashCode。
- 自动推断数据类型——判断应为 integer 还是 long、double、boolean 或 String。
- 嵌套对象会转换为嵌套的静态类;数组会转换为类型明确的 <code class="font-mono">List<></code>。
- 可按需开启/关闭注解,以匹配团队的代码风格(Jackson 搭配 Lombok 是常见组合)。
- 完全在客户端处理——你的 JSON 始终保留在浏览器中,不会上传到任何地方。
常见问题
POJO 是什么,和普通的 Java 类有什么区别?
POJO 是 Plain Old Java Object 的缩写——一个普通的 Java 类,只包含字段和 getter/setter,不需要继承任何超类、实现任何接口,也不依赖框架的注解。从这个意义上说,所有 POJO 本质上都是普通的 Java 类;这个术语强调的是它不带有 Spring、EJB 或持久化层等框架的“负担”。本工具生成的正是这种严格意义上的 POJO。
数字类型是如何推断出来的?
落在 32 位范围内的整数会被转换为 <code class="font-mono">Integer</code>;超出该范围的整数会被转换为 <code class="font-mono">Long</code>;带小数部分的数值会被转换为 <code class="font-mono">Double</code>。
如果我的数组是空的怎么办?
空数组会默认生成为 <code class="font-mono">List<Object></code>。请至少提供一个示例元素,以便得到准确的类型推断。
应该选择 Jackson、Lombok 还是 record?
当 JSON 中的字段名与 Java 命名规范不符,或与 Java 保留字冲突时,Jackson 的 <code class="font-mono">@JsonProperty</code> 会很有用。Lombok 的 <code class="font-mono">@Data</code> 适合可变(mutable)DTO,能省去大量样板代码。而对于不可变(immutable)的值对象,record(Java 16+)是最佳选择——没有 setter,并自带 <code class="font-mono">equals</code>/<code class="font-mono">hashCode</code>。
可以同时使用 record 和 Lombok 吗?
record 本身就是不可变的值类型——Lombok 的 <code class="font-mono">@Data</code> 在这种情况下已经是多余的了。开启 record 后,Lombok 选项会被自动忽略。
这个工具会在服务器上运行吗?
不会。代码生成完全通过浏览器中的 JavaScript 完成——你的 JSON 永远不会被发送到 Zerethon 的服务器。
需要转换成其他语言怎么办?
JSON 转 TypeScript、Go、C# 的工具已在开发计划中。
什么是 JSON 转 Java POJO 工具?
POJO(Plain Old Java Object)是一个只包含字段、getter 和 setter 的简单 Java 类,不受任何框架的约束限制。这款 JSON 转 POJO 工具会读取一份 JSON 文档,推断每个字段的数据类型(Integer、Long、Double、Boolean、String、List),然后生成一个 Java 类,并可选择附加 Jackson 注解、Lombok 的精简语法或 Java 16+ 的 record 语法——省去你手动逐个映射属性的麻烦。
功能特性
类型推断
将 JSON 值映射为 Integer、Long、Double、Boolean、String 和 List<T>;大于 2^31 的整数会映射为 Long,小数会映射为 Double。
嵌套类
嵌入的对象和对象数组会转换为自动命名的嵌套静态类,数组元素的名称会转换为单数形式。
支持 Jackson、Lombok 与 record
可选择生成 @JsonProperty 注解、Lombok 的 @Data/@NoArgsConstructor/@AllArgsConstructor,或直接生成 Java record 而非普通类。
在浏览器中运行
转换过程是无依赖的客户端 JavaScript;JSON 数据永远不会离开你的设备。
示例
Input
{"id": 42, "name": "Ada Lovelace", "active": true, "roles": ["admin", "dev"]}
Output
import java.util.List;
public class Root {
private Integer id;
private String name;
private Boolean active;
private List<String> roles;
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Boolean getActive() { return active; }
public void setActive(Boolean active) { this.active = active; }
public List<String> getRoles() { return roles; }
public void setRoles(List<String> roles) { this.roles = roles; }
}
常见使用场景
-
1
根据 API 响应快速生成 DTO
粘贴一段 JSON 样本数据,即可获得一个可直接用于反序列化的 Java 类。
-
2
快速搭建带 Jackson 注解的模型
当 JSON 键与 Java 命名规范不一致时,生成带 @JsonProperty 注解的字段。
-
3
学习 JSON 到 Java 的类型映射
了解 JSON 中的数字、布尔值、字符串和嵌套对象是如何映射为 Java 类型的。
Zerethon 的 JSON 转 Java 转换器会读取 JSON 样本并生成带类型的 Java 类,自动推断 Integer、Long、Double、Boolean、String 和 List<T> 等字段类型,并为嵌入的对象自动生成嵌套类。默认情况下,它会输出一个带有私有字段以及 getter 和 setter 的普通 POJO,还可以选择添加 Jackson 的 @JsonProperty 注解、Lombok 的 @Data,或直接生成 Java record。整个转换过程完全在你的浏览器中运行,不会上传任何数据。
- 分类
- 开发者
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
参考资料
- JEP 395: Records — OpenJDK
- Jackson Annotations (@JsonProperty) — FasterXML
- Project Lombok — @Data — Project Lombok
隐私
除非另有说明,否则你的数据永远不会离开浏览器。JSON 转 Java POJO 工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
相关工具
在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。