JSON 轉 Ruby 產生器

JSON 輸入

正在載入編輯器…

生成的 Ruby

Configuration

輸入 JSON 資料以產生 Ruby 類別

優雅的 Ruby 類別與框架支援

如何將 JSON 轉換為 Ruby – 步驟指南

使用此 JSON 轉 Ruby 產生器,可從 JSON 範例產生 Ruby class/結構,適合 Rails 與 Ruby 服務。

  1. 步驟 1 – 貼上 JSON 範例

    • 將具有代表性的 JSON 物件或陣列貼到左側編輯器。
    • 盡量包含巢狀物件、陣列與可為 null 的欄位,方便正確推斷型別。
    • 使用 匯入 從檔案、URL 或示例資料載入 JSON。
  2. 步驟 2 – 選擇 Ruby 模型選項

    • 選擇根 Class Name,並決定使用一般 class 或 Struct 風格物件。
    • 確認可選欄位的處理方式(nil)。
    • 檢查巢狀物件是否拆分成巢狀 Ruby class,便於重用與維護。
  3. 步驟 3 – 檢查產生的程式碼

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

    • 將 class 複製到應用中(例如 app/modelslib)。
    • 解析 JSON,將 hash 對應成模型物件。
    • 在商業邏輯依賴前驗證必要 key 與必填欄位。
  5. 步驟 5 – 複製或下載

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

快速提示

  • 初始化盡量明確,降低 silent nil 造成的問題。
  • 巢狀物件優先用獨立型別表達,而不是到處使用 hash。
  • 需要跨服務共用契約時,建議產生 JSON Schema。
範例輸出(簡化)
# 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
}

# 產生的 Ruby 模型(簡化)
class Metadata
  attr_accessor :plan
end

class Root
  attr_accessor :id, :name, :email, :active, :roles, :metadata, :createdAt, :score, :notes
end

相關 JSON 與 Ruby 工具

探索更多可與本 JSON 轉 Ruby 產生器搭配使用的 JSON 與 Schema 工具。

常見問題

支援哪些 Ruby 特性?

產生器會建立包含 attr_accessor 的 Ruby 類別,支援 ActiveModel 序列化,並遵循 Ruby 命名慣例與適當的模組結構。

可以產生與 ActiveModel 相容的類別嗎?

可以!選擇「ActiveModel」框架可產生支援 ActiveModel::Serialization 的類別,方便在 Rails 應用中自動進行 JSON 序列化。

Dry‑Struct 整合如何運作?

選擇 Dry‑Struct 時,產生器會建立不可變 struct 類別,並透過 dry-struct gem 進行型別檢查與 coercion。

Ruby 的慣例與風格呢?

產生的 Ruby 程式碼遵循標準慣例:方法與變數使用 snake_case、類別使用 CamelCase,且預設使用 2 空格縮排。

JSON 轉 Ruby 產生器 | JSONSwiss