什么是 JSON 转 Java 对象?
JSON(JavaScript Object Notation)是前后端数据交换最常用的轻量级格式,而 Java 后端通常需要把接收到的 JSON 绑定为强类型的实体类(POJO / JavaBean)。本工具读取一段 JSON 数据,自动推断每个字段的类型,递归生成对象类、嵌套类与集合类型(如 List<Order>),把手工编写实体类的过程变成一次粘贴即可完成,大幅减少重复劳动。
字段类型如何推断?
- 字符串:映射为
String。开启「识别日期时间」后,符合 yyyy-MM-dd 格式转为 LocalDate,符合 yyyy-MM-dd'T'HH:mm:ss 形式的 ISO 时间串转为 LocalDateTime,并自动添加相应 import。
- 布尔值:映射为
Boolean。
- 数值:自动模式下,32 位整数为
Integer、超出范围的整数为 Long、带小数的为 Double;也可切换为统一的 BigDecimal 或 Double。
- 对象 / 数组:嵌套对象递归生成一个新类(以字段名命名并首字母大写),数组映射为
List<…>,数组内的对象结构会被合并推断。
- null:类型未知,保守映射为
String。
支持的生成选项
- 生成风格:可选 Lombok
@Data 注解(只声明字段,自动生成 getter/setter)或传统 getter/setter 全量代码;两种风格均可附带 Jackson @JsonProperty 注解,保证反序列化时与原始 JSON 键名精确对齐。
- 字段命名:默认将下划线/短横线命名的键转为 Java 规范的驼峰(camelCase)命名,也可选择保持原样,命名冲突时自动追加序号。
- 根类名 / 包名:自定义生成的根类名与 package 声明,多个内部类按生成顺序排列在单个输出中。
常见问题
- 生成结果是多个类,如何下载?:生成单个类时下载为
.java 文件;生成多个类时下载为 .txt 文本,内容按 // ===== 类名.java ===== 分节标记,可拆分使用。
- 为什么字段名和 JSON 键不一致?:默认开启了驼峰命名转换,若希望字段名与 JSON 键完全一致,请将「命名」切回「保持原样」。
- 日期字段如何避免识别错误?:关闭「识别日期时间」后所有字符串一律映射为
String,可自行用 @JsonFormat 控制序列化格式。
- 数据安全吗?:本工具完全在浏览器本地运行,不会上传任何 JSON 数据到服务器。
使用说明与小贴士
在左侧粘贴或输入 JSON 后结果实时更新,无需点击转换按钮;通过「示例」可查看嵌套对象、对象数组、日期时间与集合混用的典型用法。修改选项栏中的类名、包名、风格或命名方式后代码会立即重新生成,适合反复微调直至满足项目规范。