JSON 轉 Java Record Skill
這個 Skill 幫助將原始 JSON 資料或 API 回應轉換為結構化、強型別的 Java Record 類別。
目標
將 JSON 資料自動轉換為符合 Java 21+ 標準的 Record 類別,並加上適當的 Jackson 註解。
指示說明
- •
分析輸入:查看使用者提供的 JSON 物件。
- •
推斷型別:
- •
string→String - •
number(整數)→Integer或Long - •
number(小數)→Double或BigDecimal - •
boolean→Boolean - •
array→List<Type> - •
null→ 使用@Nullable或Optional<Type> - •巢狀物件 → 建立個別的子類別 Record
- •
- •
遵循範例:查看
examples/資料夾了解如何結構化輸出程式碼。- •輸入:
examples/input_data.json - •輸出:
examples/UserRecord.java
注意巢狀字典(如
preferences)如何被抽取為獨立的 Record 類別。 - •輸入:
風格指南
- •使用
PascalCase命名 Record 類別 - •使用
camelCase命名欄位 - •使用
@JsonProperty處理 JSON 欄位名稱與 Java 命名不一致的情況 - •如果欄位可能為 null,使用
@Nullable註解 - •日期時間字串使用
LocalDateTime或Instant - •加上
@JsonIgnoreProperties(ignoreUnknown = true)忽略未知欄位
必要的 Import
java
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.time.Instant;
注意事項
- •Record 類別是不可變的(immutable)
- •所有欄位都是 final
- •自動產生
equals()、hashCode()和toString()