JSON 转 Java 工具

转换器

从样例 JSON 自动生成 Java POJO 类,支持 Jackson/Gson 注解与 Lombok,适合 Android 与 Java 后端对接 API 时创建数据类,适合配置转换、数据清洗与格式对齐,支持批量处理,浏览器本地运行,免费且无广告。

输入
输出
public class Profile {
    @JsonProperty("age")
    private int age;
    @JsonProperty("city")
    private String city;

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
    public String getCity() { return city; }
    public void setCity(String city) { this.city = city; }
}

public static class RootObject {
    @JsonProperty("id")
    private int id;
    @JsonProperty("name")
    private String name;
    @JsonProperty("active")
    private boolean active;
    @JsonProperty("score")
    private double score;
    @JsonProperty("tags")
    private List<String> tags;
    @JsonProperty("profile")
    private Profile profile;

    public int getId() { return id; }
    public void setId(int 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 double getScore() { return score; }
    public void setScore(double score) { this.score = score; }
    public List<String> getTags() { return tags; }
    public void setTags(List<String> tags) { this.tags = tags; }
    public Profile getProfile() { return profile; }
    public void setProfile(Profile profile) { this.profile = profile; }
}

关于 JSON 转 Java 工具

JSON 转 Java 代码工具在浏览器本地解析样例 JSON 并自动生成完整的 Java 实体类。字段名转为小驼峰命名风格(例如 JSON 中的 user_id 会转成 userId),嵌套对象拆分为内部静态类,数组推断为 List 泛型,布尔值映射为 boolean,数字根据范围推断为 Integer 或 Long。可选生成 getter 与 setter 方法和 Jackson 的 @JsonProperty 注解或 Gson 的 @SerializedName 注解,并支持 Lombok @Data 选项以减少样板代码。生成的代码可直接用于 Spring Boot DTO、REST API 客户端和 MyBatis/JPA 映射模型。数据不上传服务器,适合对接第三方 JSON 接口时快速生成 POJO。需要特别留意的是:小驼峰命名的规则会自动去除下划线,若你的接口字段依赖于精确的 JSON 键名(例如带特殊字符或大小写敏感的字段),建议开启 @JsonProperty 注解以保留原始键名做映射,避免反序列化时字段丢失。

使用方法

  1. 打开 JSON 转 Java 工具 工具页面
  2. 根据需求输入或粘贴数据到输入区域
  3. 查看实时处理结果,使用复制按钮获取输出

使用场景

  • 对接 REST 接口 — 把接口返回的 JSON 粘进来,立即得到可用的 Java DTO 类,省去手写字段映射的时间。
  • 生成 ORM 实体 — 根据数据库返回的 JSON 样例生成实体类,用于 MyBatis/JPA 映射,保持类型一致。
  • Jackson/Gson 建模 — 自动添加 @JsonProperty 或 @SerializedName 注解,兼容 Jackson 与 Gson 两类序列化框架。
  • Android/Kotlin 互操作 — 生成 Java 类供 Kotlin 代码调用,保持类型安全,避免手写转换逻辑。
  • 接口文档建模 — 根据接口文档中的 JSON 示例快速生成请求/响应模型,作为联调基准。

常见问题

支持哪些 Java 版本?

生成的代码兼容 Java 8+,使用标准 List<T> 泛型和注解语法,不依赖 Java 11 以上的新特性。

能生成 BigDecimal 吗?

可以。开启 BigDecimal 选项后,所有数字字段会用 java.math.BigDecimal 类型,适合金额等需要高精度运算的字段。

嵌套对象怎么处理?

每个嵌套对象生成独立的 static 内部类,结构清晰可复用。若嵌套层级过深,建议打开「扁平化」看清结构后再决定。

字段名带下划线会怎么处理?

默认转成小驼峰(如 user_name 变 userName)。若接口依赖原始键名,务必开启 @JsonProperty 注解保留映射,否则 Jackson 反序列化时会匹配不到字段。

能处理数组类型的字段吗?

可以。顶层或嵌套的 JSON 数组会推断为 List<T>,元素类型根据数组内对象结构生成。空数组时会退化为 List<Object>,建议补一条带字段的样例。

广告

评论与讨论

还没有评论,来抢沙发吧!

评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。