配置
基本使用
將您的 JSON 對象轉換為具有適當 getter、setter 和可選 Lombok 支持的 Java Bean 類。
基本步驟
- 在輸入框中輸入您的 JSON 或使用載入範例按鈕
- 配置包名、類名和 Lombok 設置
- 點擊「生成 Java Bean」以創建 Java 類
- 複製生成的程式碼供您使用
JSON 與 Java 的型別對應
型別是根據你貼上的範例值推斷出來的,而不是來自 schema,因此產生的類別只會和輸入的 JSON 一樣準確。請提供一份具代表性的文件——把所有可選欄位都填上值——並對照下表檢查是否符合你的領域模型。
| JSON 值 | Java 型別 | 說明 |
|---|---|---|
| "hello" | String | 所有未被辨識為日期的引號值,預設都對應為 String。 |
| "2024-01-01T00:00:00Z" | LocalDateTime | 符合 ISO 8601 格式的字串會對應為 LocalDateTime。而 Unix 時間戳是以數字形式出現的,因此會變成 Integer 或 Double。 |
| 30 | Integer | 整數會對應為 Integer。超出 32 位元範圍的值需要手動改成 Long。 |
| 95.5 | Double | 帶小數部分的數字都會對應為 Double。涉及金額時請改用 BigDecimal——Double 並不適合用於貨幣運算。 |
| true | Boolean | 全部使用包裝型別,這樣欄位缺失時可以是 null,而不會被悄悄當成 false。 |
| ["a", "b"] | List<String> | 元素型別根據第一個元素推斷。混合型別的陣列會退回 List<Object>,而空陣列則完全無法推斷。 |
| { ... } | NestedClass | 每個巢狀物件都會產生一個以其欄位命名的靜態內部類別。 |
| null | Object | null 不帶有任何型別資訊,因此會輸出 Object。確定實際型別後請自行替換。 |
巢狀物件與集合
巢狀結構會被轉換成以所屬欄位命名的靜態內部類別,因此貼上一次就能得到一個完整、可編譯的檔案,而不是一個只有 Object 欄位的扁平類別。
輸入的 JSON:
{
"id": 41,
"customer": { "name": "Ada", "email": "ada@example.com" },
"items": [{ "sku": "A-1", "qty": 2 }]
}產生的類別:
public class Order {
private Integer id;
private Customer customer;
private List<Items> items;
public static class Customer {
private String name;
private String email;
}
public static class Items {
private String sku;
private Integer qty;
}
}命名與集合的處理規則
- 內部類別以其欄位命名,並將首字母大寫——customer 欄位會產生 Customer 類別。
- 物件陣列會產生 List<T>,其中 T 是根據第一個元素產生的內部類別。
- 巢狀會一直向下展開,每一層都會新增一個內部類別。
- 不同層級上同名的欄位會解析成同一個類別名稱,如果它們結構不同,請重新命名其中一個。
- 空陣列會得到 List<Object>,因為沒有元素可供推斷——請改為提供有內容的範例。
功能特點
可用功能
- 可選的 Lombok 集成(@Data、@NoArgsConstructor、@AllArgsConstructor)
- 智能 JSON 值類型推斷
- 支持嵌套對象和數組
- 適當的程式碼格式化和導入
- JSON 驗證和錯誤檢查
使用技巧
使用建議
- 生成類之前先驗證您的 JSON
- 使用 Lombok 減少樣板程式碼
- 使用反映數據結構的有意義類名
- 遵循 Java 包命名約定(例如:com.example.model)
- 對於複雜類型,考慮生成多個類
注意:轉換器生成具有適當封裝的標準 Java Bean 類。Lombok 註解可以顯著減少樣板程式碼的數量。