JSON to Java クラス

JSONからJavaのクラス定義を自動生成します。ネストしたオブジェクト・配列・Lombok・Jackson対応。

入力データはブラウザ内で処理されます
データはサーバーへ送信されません

変換ツール

ルートクラス名
パッケージ名
インデント:

またはファイルをドラッグ&ドロップ

JSON to Java クラス変換ツールとは?

APIレスポンスや設定ファイルのJSONから、Javaのクラス定義を自動生成するツールです。

ネストしたオブジェクトは個別のクラスとして展開され、配列は List<T> として型付けされます。Lombok の @Data アノテーションや Jackson の @JsonProperty にも対応しており、Spring Boot などのプロジェクトにすぐ組み込めるコードを生成できます。

使い方

  1. 左側にJSONを貼り付けると、右側にJavaのクラス定義が即座に生成されます。「サンプル」ボタンで動作を確認できます。
  2. 「ルートクラス名」に生成するクラスの名前を入力します(デフォルト: Root)。
  3. 「パッケージ名」にJavaパッケージ名を入力します(例: com.example.model)。
  4. 「Lombok アノテーションを使う」を有効にすると、`@Data`・`@NoArgsConstructor`・`@AllArgsConstructor` が付与されます。
  5. 「Jackson @JsonProperty を使う」を有効にすると、JSONキーとフィールド名が異なる場合に `@JsonProperty` が付与されます。
  6. 「フィールドを private にする」を有効にすると、フィールドが `private` 修飾子になり getter/setter が自動生成されます(Lombok使用時を除く)。

よくある質問

ネストしたオブジェクトはどう変換されますか?

ネストしたオブジェクトは個別のJavaクラスとして自動生成され、親クラスのフィールドから参照されます。クラスは依存関係の順番で出力されるため、そのままJavaプロジェクトにコピーして使えます。

配列はどう変換されますか?

配列は `List<T>` 型として生成されます。オブジェクトの配列の場合は、すべての要素のキーをマージして1つのクラスを生成し `List<クラス名>` として出力します。

Lombok を使わない場合はどうなりますか?

フィールドを private にするオプションが有効な場合、各フィールドに対応する getter/setter メソッドが自動生成されます。

null値のフィールドはどうなりますか?

null値のフィールドは `Object` 型として生成されます。実際の型が分かっている場合は、生成後に手動で型を変更してください。