</>YZIF
博客

JSON 转 Java 类:告别手动编写 POJO

2026-06-18

手动创建 POJO 的痛苦

每个使用 REST API 的 Java 开发者都熟悉这个流程:收到 JSON 响应,打开 IDE,开始输入 getter、setter、注解和字段。对于一个简单的对象,这需要一分钟。对于带有数组的深层嵌套响应,可能需要 30 多分钟的枯燥工作。

实际示例:电商产品 API

以下是电商 API 返回的真实 JSON 响应:

{
  "productId": "P10086",
  "name": "无线蓝牙耳机",
  "price": 79.99,
  "currency": "USD",
  "inStock": true,
  "categories": ["electronics", "audio", "wearables"],
  "specifications": {
    "brand": "SoundMax",
    "color": "磨砂黑",
    "weight": "0.25 kg",
    "batteryLife": "30 小时"
  },
  "reviews": [
    {
      "userId": 42,
      "rating": 5,
      "comment": "音质很棒!",
      "date": "2026-06-01"
    },
    {
      "userId": 87,
      "rating": 4,
      "comment": "不错,但有点重",
      "date": "2026-05-28"
    }
  ]
}

手动编写的话,你需要创建三个 POJO 类,包含 getter、setter 和 Jackson 注解。

YZIF 如何解决这个问题

使用 YZIF 的 JSON 转 Java 工具

1. **粘贴 JSON** — 整个响应,无需修剪 2. **Jackson 或 Gson** — 选择你偏好的注解库 3. **嵌套类** — 为嵌套对象自动生成内部类 4. **列表类型** — JSON 数组变成带正确泛型的 `List` 5. **原始类型检测** — 数字、布尔值、字符串被正确识别和类型化

该工具还能处理空值字段、空数组和复杂嵌套结构。你可以选择是否生成 getter/setter 方法,或使用 Lombok 注解来进一步减少样板代码。

最佳实践

- 使用 Lombok 的 `@Data` 减少样板 getter/setter
- 在类级别添加 `@JsonIgnoreProperties(ignoreUnknown = true)` 增加灵活性
- 对于可空字段,使用包装类型如 `Integer` 而非 `int`
- 考虑使用 Java Records(Java 16+)处理不可变 DTO

尝试 JSON 转 Java 生成器

访问 YZIF 的 JSON 转 Java 工具,粘贴你的 API JSON,即时生成生产就绪的 Java POJO 类。