JSON から Swift を生成

JSON 入力

エディターを読み込み中…

生成された Swift

Configuration

JSON データを入力して Swift struct を生成します

Codable 対応で型安全な struct

JSON を Swift に変換する方法 – 手順ガイド

この JSON→Swift 生成ツールを使って、iOS/macOS アプリや Swift サービス向けに JSON サンプルから Codable 対応の Swift 構造体を作成します。

  1. ステップ 1 – JSON サンプルを貼り付ける

    • 左側のエディターに代表的な JSON オブジェクトまたは配列を貼り付けます。
    • ネストしたオブジェクト、配列、null になり得るフィールドを含めて、型推論を正確にします。
    • Import を使ってファイル、URL、サンプルデータから JSON を読み込みます。
  2. ステップ 2 – Swift 構造体のオプションを選ぶ

    • ルート Struct Name を設定します(例: Root)。
    • オプションフィールドが String? などにどうマップされるか確認します。
    • JSON キーが Swift の命名と一致しない場合のキー変換戦略を確認します。
  3. ステップ 3 – 生成されたコードを確認する

    • フィールド名、型、配列/オブジェクトの表現を確認します。
    • 利用可能なら Root Type Name、null の扱い、フレームワーク等のオプションを調整します。
    • 推論が違う場合は JSON サンプルを調整して再生成します。
  4. ステップ 4 – Codable で構造体を使う

    • 生成した構造体をプロジェクトに追加し、Codable 準拠を確認します。
    • JSONDecoder で JSON をルート型へデコードします。
    • 必要に応じて CodingKeys や日付デコード戦略を追加します。
  5. ステップ 5 – コピーまたはダウンロード

    • 出力をプロジェクトにコピーするか、ファイルとしてダウンロードします。
    • フォーマッター/リンターを実行してコードスタイルを整えます。
    • 必要に応じて JSON の解析/シリアライズ用ライブラリを追加します。

クイックヒント

  • タイムスタンプには ISO8601DateFormatter / JSONDecoder.dateDecodingStrategy を優先します。
  • 必要なら snake_case→camelCase 変換のために CodingKeys を使います。
  • 結合を避けるため、DTO 構造体は UI モデルと分離します。
出力例(簡略版)
// 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
}

// Generated Swift models (simplified)
struct Metadata: Codable {
  let plan: String
}

struct Root: Codable {
  let id: Int
  let name: String
  let email: String?
  let active: Bool
  let roles: [String]
  let metadata: Metadata
  let createdAt: String
  let score: Double
  let notes: String?
}

関連する JSON & Swift ツール

この JSON→Swift 生成ツールと相性の良い JSON/スキーマ関連ツールもチェックしてください。

よくある質問

どのような Swift 機能に対応していますか?

型安全な Swift struct を生成し、Codable による JSON のシリアライズ/デシリアライズに対応します。null は optional 型で表現し、Swift の命名規則に沿います。

Codable はどのように動作しますか?

Codable を選択すると、生成 struct が Codable に準拠し、JSONEncoder/JSONDecoder によるエンコード/デコードが可能になります。

optional 値はどう扱われますか?

JSON の null は Swift の optional 型(?)にマップされ、明示的なアンラップが必要になります。

Swift の型システムはどう反映されますか?

Int、Double、String、Bool、[Any]、[String: Any] など適切な型を用い、struct による value semantics を活かしたモデルになります。

JSON から Swift を生成 | JSONSwiss