検索
ホームページJava&#&チュートリアルjsonschema2pojo Maven プラグインを使用して JSON から Java クラスを生成する方法

How to Generate Java Classes from JSON Using the jsonschema2pojo Maven Plugin?

Maven で JSON から Java クラスを生成する方法

JSON から Java ソース ファイルを生成することは、オブジェクトから JSON へのマッピングの貴重な手法ですそしてデータのシリアル化。このシナリオでは、次のような Java クラスを作成しようとします。

class Address {
  private JSONObject mInternalJSONObject;

  Address(JSONObject json) {
    mInternalJSONObject = json;
  }

  String getStreetAddress() {
    return mInternalJSONObject.getString("streetAddress");
  }

  String getCity() {
    return mInternalJSONObject.getString("city");
  }
}

class Person {
  private JSONObject mInternalJSONObject;

  Person(JSONObject json) {
    mInternalJSONObject = json;
  }

  String getFirstName() {
    return mInternalJSONObject.getString("firstName");
  }

  String getLastName() {
    return mInternalJSONObject.getString("lastName");
  }

  Address getAddress() {
    return new Address(mInternalJSONObject.getJSONObject("address"));
  }
}

Maven プロジェクトでこの生成を​​実現するには、http://www.jsonschema2pojo.org などの包括的なツールを利用できます。あるいは、Maven の jsonschema2pojo プラグインを利用することもできます。

<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 ソースの場合、json を指定できます。ただし、実際の JSON スキーマを所有している場合、この行は不要です。

近年、JSON スキーマ仕様は大幅に進歩し、構造ルールを定義するための堅牢なメカニズムを提供しています。さらに、jsonschema2pojo プロジェクトは、JSON スキーマ ドキュメントを Java DTO クラスに変換する専用ツールを提供します。まだ開発中ですが、JSON スキーマの重要な部分をカバーしています。ユーザーからのフィードバックは継続的な進化にとって非常に重要であり、コマンドラインまたは Maven プラグインを通じて提供できます。

以上がjsonschema2pojo Maven プラグインを使用して JSON から Java クラスを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター