JSON から Scala を生成

JSON 入力

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

生成された Scala

Configuration

JSON データを入力して Scala の case class を生成します

型ヒントと JSON シリアライズに対応

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

この JSON→Scala 生成ツールを使って、JVM サービスやデータパイプライン向けに JSON サンプルから Scala の case class を作成します。

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

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

    • 生成する case class のルート Class Name を設定します。
    • オプションフィールドの表現(例: Option[String])を決めます。
    • ネストオブジェクトと配列が、ネスト case class と List/Seq にマップされるか確認します。
  3. ステップ 3 – 生成されたコードを確認する

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

    • case class をプロジェクトのソースに貼り付けます。
    • 好きな JSON ライブラリで JSON をモデルにデシリアライズします。
    • ビジネスロジックで依存する必須フィールドにはバリデーションを追加します。
  5. ステップ 5 – コピーまたはダウンロード

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

クイックヒント

  • 欠落/ null フィールドには sentinel 値ではなく Option を優先します。
  • 実行時の不一致を避けるため、モデルは API 契約と揃え続けます。
  • サービス間で契約を共有する必要がある場合は 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
}

// Generated Scala models (simplified)
final case class Metadata(plan: String)

final case class Root(
  id: Long,
  name: String,
  email: Option[String],
  active: Boolean,
  roles: List[String],
  metadata: Metadata,
  createdAt: String,
  score: Double,
  notes: Option[Any]
)

関連する JSON & Scala ツール

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

よくある質問

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

型付きの Scala case class を生成し、Play JSON や Circe など一般的な JSON ライブラリで利用できます。

JSON のシリアライズはどう扱われますか?

生成した case class に対して、利用するライブラリに応じて encoder/decoder を用意することでシリアライズ/デシリアライズできます。

Option はどう扱われますか?

null やオプションフィールドは Option[T] にマップされます。

コレクションはどう扱われますか?

JSON 配列は List/Seq に、ネストされたオブジェクトは別 case class にマップされます。

JSON から Scala を生成 | JSONSwiss