JSON ファイルからの Java ソース コードの生成は、さまざまなアプリケーションにとって一般的なタスクです。この記事の目的は、この問題の解決策を提供し、プロセスを自動化するためのツールとテクニックを Java 開発者に提供することです。
Java を生成するための一般的なソリューションJSON のクラスは jsonschema2pojo ツールです。このオープンソース プロジェクトは、JSON スキーマ ドキュメントを入力として受け取り、定義されたスキーマに準拠した Java クラスを出力します。 Jsonschema2pojo は、コマンド ライン経由で使用することも、Maven プラグインを通じて Maven プロジェクトに統合することもできます。
jsonschema2pojo Maven プラグインを使用するには、次の構成を pom に追加します。 xml ファイル:
<plugin> <groupId>org.jsonschema2pojo</groupId> <artifactId>jsonschema2pojo-maven-plugin</artifactId> <version>1.0.2</version> <configuration> <sourceDirectory>${basedir}/src/main/resources/schemas</sourceDirectory> <targetPackage>com.myproject.jsonschemas</targetPackage> <sourceType>json</sourceType> </configuration> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin>
この構成では、JSON スキーマ ファイルが「src/main/resources/schemas」ディレクトリにあり、生成された Java クラスが「com.myproject.xml」に配置されることを前提としています。 jsonschemas" package.
次の JSON 入力について考えてみましょう:
{ "firstName": "John", "lastName": "Smith", "address": { "streetAddress": "21 2nd Street", "city": "New York" } }
jsonschema2pojo を使用すると、生成される Java コードは次のようになります:
class Address { JSONObject mInternalJSONObject; Address (JSONObject json){ mInternalJSONObject = json; } String getStreetAddress () { return mInternalJSONObject.getString("streetAddress"); } String getCity (){ return mInternalJSONObject.getString("city"); } } class Person { JSONObject mInternalJSONObject; Person (JSONObject json){ mInternalJSONObject = json; } String getFirstName () { return mInternalJSONObject.getString("firstName"); } String getLastName (){ return mInternalJSONObject.getString("lastName"); } Address getAddress (){ return Address(mInternalJSONObject.getString("address")); } }
この生成されたコードは、JSON データを Java オブジェクトにカプセル化し、ネストされたデータ構造に簡単にアクセスできるようにします。
jsonschema2pojo などのツールを活用することで、Java 開発者は生成を自動化できます。 JSON からの Java クラスの変換により、生産性が向上し、コードの一貫性が維持されます。これにより、手動のデータ マッピング タスクではなく、ビジネス ロジックとアプリケーション固有の機能に集中できるようになります。
以上がJSON データから Java ソース コードを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。