JSON から Java を生成

JSON 入力

1

生成された Java

Configuration

Jackson と Lombok を同時に選択できます

JSON データを入力して Java クラスを生成します

JSON 注釈付きの Java POJO を生成

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

この JSON→Java 生成ツールを使って、Spring Boot アプリ、サービス、JVM 連携向けに JSON サンプルから Java POJO を作成します。

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

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

    • プロジェクト構成に合わせて Class NamePackage Name を設定します。
    • 明示的な JSON マッピングが欲しい場合は Jackson アノテーションを有効にします。
    • ボイラープレートを減らしたい場合は Lombok(getter/setter/constructor)を有効にします。
  3. ステップ 3 – 生成されたコードを確認する

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

    • 生成したクラスをソースフォルダにコピーします。
    • Jackson(または選択したライブラリ)で JSON をルート型にデシリアライズします。
    • 厳密な入力チェックが必要なら(例: Bean Validation)バリデーションアノテーションを追加します。
  5. ステップ 5 – コピーまたはダウンロード

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

クイックヒント

  • JSON キーが Java の命名と一致しない場合は @JsonProperty を使います。
  • タイムスタンプ形式が安定しているときだけ Instant / OffsetDateTime を優先します。
  • 結合を避けるため、DTO は永続化エンティティと分離します。
出力例(簡略版)
// 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 Java POJOs (simplified)
public class Metadata {
  private String plan;
  public String getPlan() { return plan; }
  public void setPlan(String plan) { this.plan = plan; }
}

public class Root {
  private int id;
  private String name;
  private String email;
  private boolean active;
  private java.util.List<String> roles;
  private Metadata metadata;
  private String createdAt;
  private double score;
  private Object notes;
}

関連する JSON & Java ツール

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

よくある質問

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

フィールド、getter/setter を持つ Java クラスを生成し、Jackson 注釈にも対応します。適切な package/import を含む Java の命名規則に沿った出力です。

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

生成クラスは Jackson と互換性があり、@JsonProperty によるプロパティ名マッピングにも対応します。

Java record に対応していますか?

必要に応じて手動で Java record(Java 14+)に調整できます。基本は広く互換性のある POJO を生成します。

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

JSON 配列は List や Java 配列に、ネストされたオブジェクトは別クラスにマップされます。ジェネリクスを含む構造にも対応します。

JSON から Java を生成 | JSONSwiss