UTILS.
100% ブラウザ内で完結

JSON から Java POJO へ

JSON サンプルから Java の POJO クラスを作成します。Jackson または Gson の注釈、生成された getter と setter、null 許容フィールド用のボックス型付き。

出力

このツールについて

JSON から Java POJO へのツールは、貼り付けた JSON サンプルを Java のモデルクラスに変換します。jsonschema2pojo のようですが、ブラウザ内で即座に行います。JSON を解析し、Java の型を再帰的に推論して、オブジェクトごとに 1 つのクラスを出力します。文字列は String、整数は int または long、その他の数値は double、真偽値は boolean、配列は List<T>、ネストしたオブジェクトは使う側の親より前に宣言される独自の PascalCase クラスになります。

解析と生成はすべて JSON.parse と純粋な JavaScript を使ってローカルで実行されるため、ペイロードがページから外に出ることはありません。フィールドは camelCase 化され、JSON キーがまだ camelCase でない場合は @JsonProperty("originalKey")(Jackson)または @SerializedName("originalKey")(Gson)が追加されます。プレーンフィールドモードでは何も追加されません。いずれかのサンプルで null になり得るフィールドはボックスされたラッパー型(Integer, Long, Double, Boolean)を使い、null を表現できます。Jackson クラスは前方互換性のために @JsonIgnoreProperties(ignoreUnknown = true) を持ちます。

注釈スタイルトグルは Jackson(既定)、Gson、注釈なしを選択し、実際に使われるインポートだけが含まれます。アクセサトグルは、private フィールドに生成された getX()/setX() メソッド(既定)か、プレーンな public フィールドかを選択します。結果はコピーするか、プロジェクトに直接入れられる .java ファイルとしてダウンロードできます。

よくある質問

どの Java 型が生成されますか?
string は String、整数は int(値が int の範囲を超える場合は long)、非整数の数値は double、真偽値は boolean、配列は List<T>、オブジェクトは名前付きクラスになります。null になり得るフィールドはボックス型(Integer, Long, Double, Boolean)を使います。
Jackson と Gson のどちらの注釈ですか?
注釈トグルで Jackson(@JsonProperty、加えて @JsonIgnoreProperties(ignoreUnknown = true))、Gson(@SerializedName)、なしを選びます。注釈は camelCase のフィールド名が元の JSON キーと異なる場合のみ追加されます。
getter と setter は得られますか?
既定では各 private フィールドに生成された getX() と setX() が付きます。アクセサメソッドを持たない records スタイルの素のフィールドが好みなら、アクセサトグルをプレーンな public フィールドに切り替えてください。
JSON はどこかに送信されますか?
いいえ。JSON の解析とクラス生成はすべて純粋な JavaScript を使ってブラウザ内で行われます。何もアップロードされないため、社内の API レスポンスを安全に貼り付けられます。

その他のツール