# JSON 转 Java 类

将 JSON 数据转换为 Java class，含 Jackson @JsonProperty 注解、私有字段及 getter/setter

> 标准页面: https://elysiatools.com/zh/tools/json-to-java

- **分类:** Development

- **关键词:** json, java, class, jackson, 转换, JsonProperty, 后端

## 概述

本工具可以将 JSON 数据快速转换为符合 Java 规范的实体类（POJO）。生成的 Java 类包含私有字段、标准的 Getter/Setter 方法，并自动附带 Jackson 的 @JsonProperty 注解，帮助后端开发者快速完成数据传输对象（DTO）的定义与数据绑定。

## 输入项

- **JSON 输入** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **根类型名称** (text): Root

## 适用场景

- 对接第三方 API 接口，需要根据返回的 JSON 响应快速构建 Java 接收实体类时。
- 在 Spring Boot 等后端开发中，需要为前端提交的 JSON 请求体创建对应的 DTO 传输对象时。
- 快速生成带有 Jackson 注解的 Java Bean，以确保 JSON 属性名与 Java 驼峰命名规范正确映射时。

## 工作原理

- 在输入框中粘贴或输入需要转换的 JSON 字符串。
- 在“根类型名称”输入框中指定主类的名称（默认为 Root）。
- 工具会自动解析 JSON 结构，提取字段类型，并生成包含私有属性、Getter/Setter 以及 @JsonProperty 注解的 Java 代码。

## 使用案例

- API 接口对接：将外部 API 返回的复杂 JSON 结构一键转换为 Java 实体类，减少手动编写字段的工作量。
- DTO 快速建模：在开发 RESTful API 时，根据前端设计的 JSON 载荷快速生成后端的 Request/Response DTO。
- 数据模型重构：将现有的 JSON 配置文件或日志数据结构化为 Java 类，便于在 Java 代码中进行强类型解析。

## 常见问题

### 这个工具支持嵌套的 JSON 对象吗？

支持。工具会递归解析嵌套的 JSON 对象，并为每个子对象生成对应的内部类或独立 Java 类。

### 生成的 Java 类使用什么 JSON 序列化框架？

默认生成 Jackson 框架的 @JsonProperty 注解，用于处理属性名映射。

### 如何自定义生成的根类名称？

您可以在“根类型名称”配置项中输入您想要的类名，例如 UserResponse。

### JSON 中的数组会转换为什么 Java 类型？

JSON 数组会被转换为 Java 的 List 集合类型。

### 转换过程是在服务器端进行的吗？

不是，转换完全在您的浏览器本地运行，您的 JSON 数据不会被上传到服务器，确保数据安全。

## 相关工具

- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [JSON Schema 转 Zod Schema 转换器](https://elysiatools.com/zh/tools/json-schema-to-zod-schema-converter): 将标准 JSON Schema 的 JSON/YAML 定义转换为可直接在 TypeScript 项目中使用的 Zod 运行时校验代码，支持嵌套结构、数组、枚举和常见校验规则
- [JSON 转 C# 类](https://elysiatools.com/zh/tools/json-to-csharp): 将 JSON 数据转换为 C# class，包含 PascalCase 属性、JsonPropertyName 特性与嵌套类型推断
- [JSON 转 Go Struct](https://elysiatools.com/zh/tools/json-to-go): 将 JSON 数据转换为 Go struct 定义，包含 json 标签、导出的 PascalCase 字段和嵌套类型推断
- [JSON 转 Kotlin Data Class](https://elysiatools.com/zh/tools/json-to-kotlin): 将 JSON 数据转换为 Kotlin data class，含 @SerializedName 注解、可空处理与嵌套类型推断
- [JSON 转 Rust Struct](https://elysiatools.com/zh/tools/json-to-rust): 将 JSON 数据转换为 Rust struct，含 serde Serialize/Deserialize 派生、snake_case 字段与 serde rename 属性
- [JSON 转 TypeScript](https://elysiatools.com/zh/tools/json-to-typescript): 将 JSON 数据转换为 TypeScript interface 或 type，支持联合类型、可选字段与嵌套对象推断
- [日志转时序图转换器](https://elysiatools.com/zh/tools/log-sequence-diagram-converter): 把结构化服务日志转换成 Mermaid 或 PlantUML 时序图，并可叠加延迟和错误标注

## 示例

- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [Android Java 序列化示例](https://elysiatools.com/zh/samples/android-serialization-java): Android Java 序列化示例，包括JSON序列化、反序列化和XML解析
- [聊天记录 JSON 示例](https://elysiatools.com/zh/samples/chat-transcript-json): 多角色聊天记录的 JSON 示例
- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构

## 相关内容

- [JSON 到强类型代码生成器](https://elysiatools.com/zh/hubs/json-to-typed-code-generators): 从 JSON 或 schema 证据生成 TypeScript、Go、Rust、Kotlin、Java、C# 与 Zod 校验模型。
