返回 Skill 列表
extension
分类: 开发与工程无需 API Key

json-to-java-record

将 JSON 数据片段转换为 Java Record 类。适用于需要从 API 响应或 JSON 数据建立强类型 Java 类的情境。

person作者: jakexiaohubgithub

JSON 轉 Java Record Skill

這個 Skill 幫助將原始 JSON 資料或 API 回應轉換為結構化、強型別的 Java Record 類別。

目標

將 JSON 資料自動轉換為符合 Java 21+ 標準的 Record 類別,並加上適當的 Jackson 註解。

指示說明

  1. 分析輸入:查看使用者提供的 JSON 物件。

  2. 推斷型別

    • stringString
    • number(整數)→ IntegerLong
    • number(小數)→ DoubleBigDecimal
    • booleanBoolean
    • arrayList<Type>
    • null → 使用 @NullableOptional<Type>
    • 巢狀物件 → 建立個別的子類別 Record
  3. 遵循範例:查看 examples/ 資料夾了解如何結構化輸出程式碼。

    • 輸入:examples/input_data.json
    • 輸出:examples/UserRecord.java

    注意巢狀字典(如 preferences)如何被抽取為獨立的 Record 類別。

風格指南

  • 使用 PascalCase 命名 Record 類別
  • 使用 camelCase 命名欄位
  • 使用 @JsonProperty 處理 JSON 欄位名稱與 Java 命名不一致的情況
  • 如果欄位可能為 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()