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 選項

    • 設定 Class NamePackage Name,與專案結構一致。
    • 需要明確 JSON 對應時啟用 Jackson 註解。
    • 想減少樣板程式時啟用 Lombok(getter/setter/建構子)。
  3. 步驟 3 – 檢查產生的程式碼

    • 確認欄位命名、型別推斷,以及陣列/物件的對應方式是否符合預期。
    • 依需求調整 根型別名稱、null 處理策略與可選的框架選項。
    • 若某些欄位推斷不準確,優化 JSON 範例後重新產生。
  4. 步驟 4 – 在 Java 中使用 POJO

    • 將產生的 class 複製到原始碼目錄。
    • 使用 Jackson(或你選擇的函式庫)將 JSON 反序列化為根型別。
    • 需要更嚴格時,可加入驗證註解(例如 Bean Validation)。
  5. 步驟 5 – 複製或下載

    • 將輸出複製到專案中,或下載成檔案。
    • 執行格式化/程式碼檢查工具,讓風格與專案一致。
    • 若目標語言需要序列化/解析函式庫,請在專案中加入相依套件。

快速提示

  • JSON key 與 Java 命名不同時,使用 @JsonProperty 進行對應。
  • 只有在時間格式穩定時才使用 Instant/OffsetDateTime
  • 讓 DTO 與持久化 Entity 分離,避免耦合。
範例輸出(簡化)
// 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 序列化/反序列化。

package 結構怎麼處理?

你可以指定自訂 package 名稱,產生器會在檔案頂部加入對應的 package 宣告。

JSON 轉 Java 產生器 | JSONSwiss