JSON から Kotlin を生成

JSON 入力

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

生成された Kotlin

Configuration

JSON データを入力して Kotlin の data class を生成します

null safety と JSON 注釈対応の data class

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

この JSON→Kotlin 生成ツールを使って、Android や JVM バックエンド向けに JSON サンプルから Kotlin の data class を作成します。

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

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

    • 生成する data class のルート Class Name を設定します。
    • nullable フィールドをどう表現するか(String?Double? など)を決めます。
    • シリアライズライブラリを使う場合は、スタック(Moshi/Kotlinx/Jackson)に合わせます。
  3. ステップ 3 – 生成されたコードを確認する

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

    • data class をプロジェクトのパッケージに貼り付けます。
    • 選択したライブラリで JSON をルート型にデシリアライズします。
    • API 変更が頻繁な場合はモデルにバージョン管理を入れます。
  5. ステップ 5 – コピーまたはダウンロード

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

クイックヒント

  • より安全なモデルのために不変の val プロパティを優先します。
  • フィールド名が異なる場合は @Json / @SerialName を明示します。
  • チーム間で契約を共有したい場合は 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 Kotlin data classes (simplified)
data class Metadata(
  val plan: String
)

data class Root(
  val id: Int,
  val name: String,
  val email: String?,
  val active: Boolean,
  val roles: List<String>,
  val metadata: Metadata,
  val createdAt: String,
  val score: Double,
  val notes: Any?
)

関連する JSON & Kotlin ツール

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

よくある質問

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

immutable なプロパティを持つ Kotlin data class を生成し、Gson/Moshi 注釈にも対応します。null 値は nullable 型で表現し、Kotlin の命名規則に沿います。

null safety はどう扱われますか?

JSON の null は Kotlin の nullable 型(?)にマップされます。常に存在するプロパティは non‑nullable として生成されます。

シリアライズライブラリに対応していますか?

はい。Gson、Moshi、kotlinx.serialization などのフレームワークを選択して、適切な注釈を生成できます。

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

JSON 配列は List にマップされ、ネストされたオブジェクトは別 data class として生成されます。

JSON から Kotlin を生成 | JSONSwiss