Claude-skill-registry json-to-java-record
將 JSON 資料片段轉換為 Java Record 類別。適用於需要從 API 回應或 JSON 資料建立強型別 Java 類別的情境。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/json-to-java-record" ~/.claude/skills/majiayu000-claude-skill-registry-json-to-java-record && rm -rf "$T"
manifest:
skills/data/json-to-java-record/SKILL.mdsource content
JSON 轉 Java Record Skill
這個 Skill 幫助將原始 JSON 資料或 API 回應轉換為結構化、強型別的 Java Record 類別。
目標
將 JSON 資料自動轉換為符合 Java 21+ 標準的 Record 類別,並加上適當的 Jackson 註解。
指示說明
-
分析輸入:查看使用者提供的 JSON 物件。
-
推斷型別:
→stringString
(整數)→number
或IntegerLong
(小數)→number
或DoubleBigDecimal
→booleanBoolean
→arrayList<Type>
→ 使用null
或@NullableOptional<Type>- 巢狀物件 → 建立個別的子類別 Record
-
遵循範例:查看
資料夾了解如何結構化輸出程式碼。examples/- 輸入:
examples/input_data.json - 輸出:
examples/UserRecord.java
注意巢狀字典(如
)如何被抽取為獨立的 Record 類別。preferences - 輸入:
風格指南
- 使用
命名 Record 類別PascalCase - 使用
命名欄位camelCase - 使用
處理 JSON 欄位名稱與 Java 命名不一致的情況@JsonProperty - 如果欄位可能為 null,使用
註解@Nullable - 日期時間字串使用
或LocalDateTimeInstant - 加上
忽略未知欄位@JsonIgnoreProperties(ignoreUnknown = true)
必要的 Import
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()