JSON to Java

Generate Java classes from sample JSON with nested types, List generics, getters/setters and JsonProperty annotations for REST API clients and DTOs.

json-to-go.input
json-to-go.output
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 to Java

Java 是强类型语言,对接 JSON 接口时需要手写大量 POJO/DTO 类,既枯燥又容易出错。本工具在浏览器本地解析样例 JSON,自动生成完整的 Java 实体类:字段名转为小驼峰,嵌套对象拆分为内部类,数组推断为 List<T> 泛型,并可选生成 getter/setter 和 @JsonProperty 注解。数据不上传。

使用方法

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

使用场景

  • 对接 REST 接口 — 把接口返回的 JSON 粘进来,立即得到可用的 Java DTO 类。
  • 生成 ORM 实体 — 根据数据库 JSON 样例生成实体类,用于 MyBatis/JPA 映射。
  • Jackson/Gson 建模 — 自动添加 @JsonProperty 注解,兼容 Jackson 序列化框架。
  • Android/Kotlin 互操作 — 生成 Java 类供 Kotlin 代码调用,保持类型安全。

常见问题

支持哪些 Java 版本?

生成的代码兼容 Java 8+,使用标准 List<T> 泛型和注解语法。

null 值怎么处理?

null 值推断为 Object 类型,建议用非空样例获得更精确的类型。

能生成 BigDecimal 吗?

开启 BigDecimal 选项后,所有数字字段会用 java.math.BigDecimal 类型。

嵌套对象怎么处理?

每个嵌套对象生成独立的 static 内部类,结构清晰可复用。

评论与讨论

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

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