このツールについて
開発のたたき台となるJavaの構造コードを出力します。初期設定ではJSONマッピングフレームワークを導入しません。入れ子のオブジェクトはクラス、配列はListで表し、整数と小数は全サンプルを合わせて推論します。
使い方
- JSONオブジェクト、配列、その他の有効なルート値を貼り付けます。
- ルートクラス名を設定し、フィールドのみ、またはgetter/setter付きを選びます。
- 「変換」を押し、Long、Double、nullを許す参照型、入れ子のクラスを確認します。
- ソースをコピーするか、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バージョンとプロジェクト規約に合わせて、コンパイルと確認を行ってください。