JSON 转 Java 生成器

JSON 输入

1

生成的 Java

Configuration

您可以选择 Jackson 和 Lombok

输入 JSON 数据以生成 Java 类

支持 POJO、Lombok 与 Jackson 注解

如何将 JSON 转换为 Java – 分步指南

使用此 JSON 转 Java 生成器,可从 JSON 示例生成 Java POJO,适用于 Spring Boot、服务端与 JVM 集成。

  1. 步骤 1 – 粘贴 JSON 示例

    • 将具有代表性的 JSON 对象或数组粘贴到左侧编辑器中。
    • 尽量包含嵌套对象、数组和可为 null 的字段,方便正确推断类型。
    • 使用 导入 从文件、URL 或示例数据加载 JSON。
  2. 步骤 2 – 选择 Java POJO 选项

    • 设置 类名包名,与项目结构保持一致。
    • 需要显式映射时启用 Jackson 注解。
    • 想减少样板代码时启用 Lombok(getter/setter/构造器)。
  3. 步骤 3 – 检查生成的代码

    • 确认字段命名、类型推断,以及数组/对象的映射方式是否符合预期。
    • 根据需要调整 根类型名称、空值处理策略以及可选的框架选项。
    • 如果某些字段推断不准确,优化示例 JSON 后重新生成。
  4. 步骤 4 – 在 Java 中使用 POJO

    • 将生成类复制到源码目录。
    • 使用 Jackson(或你选择的库)将 JSON 反序列化为根类型实例。
    • 需要严格校验时,可添加校验注解(例如 Bean Validation)。
  5. 步骤 5 – 复制或下载

    • 将输出复制到项目中,或下载为文件。
    • 运行格式化/代码检查工具,让代码风格与项目保持一致。
    • 若目标语言需要序列化/解析库,请在项目中添加相应依赖。

快速提示

  • 当 JSON 键与 Java 命名不一致时,使用 @JsonProperty 显式映射。
  • 只有在时间格式稳定时才使用 Instant/OffsetDateTime
  • DTO 与持久化实体分离,减少耦合与副作用。
示例输出(简化)
// JSON 输入
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// 生成的 Java POJO(简化)
public class Metadata {
  private String plan;
  public String getPlan() { return plan; }
  public void setPlan(String plan) { this.plan = plan; }
}

public class Root {
  private int id;
  private String name;
  private String email;
  private boolean active;
  private java.util.List<String> roles;
  private Metadata metadata;
  private String createdAt;
  private double score;
  private Object notes;
}

相关 JSON 与 Java 工具

探索更多可与本 JSON 转 Java 生成器配合使用的 JSON 与 Schema 工具。

常见问题

支持哪些 Java 特性?

生成器创建具有适当构造函数、getter/setter 的 Java 类,支持 Jackson 注解进行 JSON 序列化、Lombok 减少样板代码,以及标准 Java 约定。

可以生成与 Lombok 兼容的类吗?

可以!选择 'Lombok' 作为框架可以生成带有 @Data、@AllArgsConstructor 和 @NoArgsConstructor 注解的类,消除样板代码。

Jackson 集成如何工作?

当选择 Jackson 框架时,生成器会为字段添加 @JsonProperty 注解,以便使用自定义属性名称进行正确的 JSON 序列化/反序列化。

包结构如何处理?

您可以在选项中指定自定义包名。生成器将在生成的 Java 文件顶部添加适当的包声明。

JSON 转 Java 生成器 | JSONSwiss