生成・コード構造ツール

JSON → Java

JSONからJavaクラスを推論し、フィールドのみ、またはアクセサーメソッド付きで生成できます。

JSON入力

生成コード

JSON構造からJavaクラスを生成。配列のフィールドを統合し、入れ子の型と必要なimportを出力します。

JSONと生成したJavaソースは現在のブラウザー内だけで処理し、アップロード、実行、自動保存は行いません。

このツールについて

開発のたたき台となるJavaの構造コードを出力します。初期設定ではJSONマッピングフレームワークを導入しません。入れ子のオブジェクトはクラス、配列はListで表し、整数と小数は全サンプルを合わせて推論します。

使い方

  1. JSONオブジェクト、配列、その他の有効なルート値を貼り付けます。
  2. ルートクラス名を設定し、フィールドのみ、またはgetter/setter付きを選びます。
  3. 「変換」を押し、Long、Double、nullを許す参照型、入れ子のクラスを確認します。
  4. ソースをコピーするか、publicなルートクラス名と一致する.javaファイルをダウンロードします。

使用例

  • [{"value":1},{"value":2.5}]:先頭サンプルの整数型に固定せず、valueをDoubleに統合します。
  • {"matrix":[[1,2],[3,4]]}:List<List<Long>>を生成し、必要に応じてListをimportします。
  • {"first-name":"Tom","class":"A"}:有効なフィールド名を生成し、安全なコメントで元のJSONキーを記録します。

型の対応規則

通常の整数はLong、小数や整数と小数の混在はDouble、文字列はString、真偽値はBooleanになります。nullのみ、または統一できない混在型はObject、空配列はList<Object>です。省略可能なフィールドやnullを許すフィールドは参照型で表します。実際に必要なimportだけを生成し、入れ子の型名とフィールド名の重複を解消して予約語や組み込み型名を避けます。改名コメントは元のキーの記録であり、JSON逆シリアライズのマッピングを自動設定しません。Jackson/Gsonは必須ではありません。入力・出力はそれぞれ1 MiB、入れ子64階層、100000ノード、統合フィールド5000個、型256個までです。安全な整数範囲外、非有限値、アンダーフローで0になる数値はエラーにし、その他の小数はブラウザーの浮動小数点精度に基づきます。

主な用途

  • Javaのデータ転送クラスをすばやく作成する。
  • オブジェクト配列を入れ子のクラスとリストに整理する。
  • サンプル間の数値型の違いを確認する。

プライバシー

JSONと生成したJavaソースは現在のブラウザー内だけで処理し、アップロード、実行、自動保存は行いません。

結果を残す場合は、ページを離れる前にコピーまたはダウンロードしてください。

よくある質問

JSONのnumberはどの型になりますか?

通常、整数はLong、小数や整数と小数の混在はDoubleになります。型を特定できない混在データはObjectになる場合があります。

Jacksonのインストールは必須ですか?

不要です。初期設定のコードはJava標準ライブラリだけを使い、必須の第三者アノテーションは生成しません。

改名したフィールドは元のJSONに自動対応しますか?

いいえ。照合用に元のキーをコメントに残しますが、逆シリアライズの対応付けはフレームワークやアプリケーション側で設定してください。

nullと省略可能なフィールドはどう表しますか?

nullを許す参照型を使います。実行時に省略と明示的なnullをさらに区別する方法は、アプリケーション側で設計してください。

ダウンロードしてそのままコンパイルできますか?

ファイル名はルートクラス名に対応し、必要なimportと入れ子の型を含みます。利用するJavaバージョンとプロジェクト規約に合わせて、コンパイルと確認を行ってください。

開発者ツール一覧に戻る