工具用的顺手吗?
你的反馈能帮助我们做得更好
将JSON字符串自动转换为标准的Java POJO类代码,用于API对接、数据建模等开发场景。
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
把一段接口响应样本转换后,JSON 对象会成为根类,成员名会成为字段,嵌套对象会得到独立的 Java 类,数组则根据样本元素推断组件类型。
| 样本值 | 默认 Java 输出 | 需要留意 |
|---|---|---|
"Ada" | String | 日期时间和 UUID 形态的字符串可能被识别为专用类型 |
42 | long | 不是旧说明中的 Integer |
9.5 | double | 金额等高精度数据应按项目口径改成 BigDecimal |
true | boolean | 字段缺失或可为 null 时可能改用包装类型 |
null | Object | 单凭 null 无法推出更具体的类型 |
["a", "b"] | String[] | 默认生成 Java 数组,不是 List<String> |
初始类型名称为 Root,初始包名为 io.quicktype。“仅类型定义”默认开启,通常生成私有字段及 getter、setter;关闭后会增加 JSON 转换辅助代码、Jackson 注解和依赖提示。开启“使用 Lombok”后,类上会出现 @lombok.Data,显式 getter、setter 会被省略。结果可复制,也可按当前类型名称下载 .java 文件。
例如输入订单对象,其中 items 是商品对象数组,默认结果会形成 Order 与 Item 两个 public 类,字段类型为 Item[]。结果区用 // Order.java、// Item.java 一类注释分隔文件内容。
[] 没有元素可供判断,通常生成 Object[]。boolean、long 等基本类型可能变成 Boolean、Long。class 之类的保留名称会被改写,生成后要核对字段名与序列化名称。42、true 或单个字符串不能形成有字段的实体类,结果可能为空。指南
按步骤完成操作,并通过示例核对输入与结果。
保留正常值、null、空数组、可选字段和至少两个数组元素。样本越接近真实响应,类型推断越有参考价值;先移除令牌、手机号等不应外泄的数据。
粘贴完整对象或对象数组。若出现语法错误,先用“格式化”定位缺少引号、逗号或括号的问题,也可以载入页面示例观察可接受结构。
把 Root 改为业务含义明确的 PascalCase 名称,例如 OrderResponse;再把默认包名换成项目实际包路径,例如 com.example.api.dto。
只想得到字段和访问方法时保留“仅类型定义”。项目已经配置 Lombok 时可开启“使用 Lombok”;需要生成 Jackson 转换辅助代码时再关闭“仅类型定义”。
复制结果或下载文件,按 // Xxx.java 注释把多个 public 类分别保存,再补充项目需要的校验注解、文档、构造方式和序列化配置。最后用项目实际 JDK 与依赖执行编译和反序列化测试。
把根类型改成 Order,输入 {"id":1001,"paid":true,"total":19.95,"items":[{"sku":"A-1","quantity":2}]}。默认“仅类型定义”模式会把 id 推断为 long、paid 推断为 boolean、total 推断为 double,并生成 Item[] items 及独立的 Item 类;其中 quantity 同样是 long。
再把第二个数组元素改成 {"sku":"B-2","quantity":1,"note":null},结果会加入 note,但 null 样本只能推断成 Object。如果业务契约规定它是可空文本,应手工改成 String,并用包含真实字符串的样本重新测试。
场景
查看这项工具在不同工作与生活流程中的用法。
后端或客户端开发者可从接口文档里的成功响应生成 DTO 骨架,再依据正式契约补齐错误响应、分页字段和可空性。
联调阶段可把一份共同确认的 JSON 样本转成 Java 类,快速发现字段拼写、数字口径和嵌套层级不一致的问题,生成结果用于讨论而非替代接口定义。
初学者可以改变整数、小数、null、空数组和对象数组,比较输出类型怎样变化,再把生成代码放入小型测试项目验证。
问答
集中解答高频疑问与容易混淆的问题。
先检查根值是否只是数字、布尔值、字符串或 null。合法 JSON 不一定包含可建模的字段;改用 {} 形式的对象或由对象组成的根数组,并确认输入区不是空白。
这是当前默认 Java 输出对整数样本的选择。若接口契约限定为 32 位整数,可以在核对取值范围后改成 int 或 Integer;字段可能缺失或为 null 时应考虑包装类型。
它们改由 @lombok.Data 在编译阶段生成,所以源码里不再逐个展开。项目必须已经加入并正确配置 Lombok;该注解还会涉及 toString、equals 和 hashCode,应确认这符合实体类设计。
嵌套对象会生成多个 public 顶层类,而常见文件系统编译方式要求 public 类型与源文件同名。请按结果中的文件名注释拆成 Root.java、Item.java 等文件,或按项目规范改成非 public 类型、内部类或 record。
须知
使用前了解适用范围、结果限制与必要提醒。
生成代码只反映所粘贴的样本,不能证明接口的完整字段集合、必填规则、数值范围、日期格式或向后兼容性。生产项目应以 OpenAPI、JSON Schema、接口文档和实际测试为准。
long、double 或 BigDecimal 语义;订单金额、计量值和超大整数必须按业务精度重选类型。推荐
查找相关工具、专题与可用的 API 能力。