Heim >Java >javaLernprogramm >Wie generiert man Java-Klassen aus JSON mit dem jsonschema2pojo Maven Plugin?

Wie generiert man Java-Klassen aus JSON mit dem jsonschema2pojo Maven Plugin?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 04:45:12703Durchsuche

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

So generieren Sie Java-Klassen aus JSON in Maven

Das Generieren von Java-Quelldateien aus JSON ist eine wertvolle Technik für die Zuordnung von Objekten zu JSON und Datenserialisierung. In diesem Szenario versuchen wir, Java-Klassen zu erstellen, die den folgenden ähneln:

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"));
  }
}

Um diese Generierung in einem Maven-Projekt zu erreichen, können Sie ein umfassendes Tool wie http://www.jsonschema2pojo.org nutzen. Alternativ können Sie das Plug-in jsonschema2pojo für Maven verwenden:

<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>

Für JSON-Quellen können Sie json angeben. Wenn Sie jedoch über tatsächliche JSON-Schemas verfügen, ist diese Zeile nicht erforderlich.

In den letzten Jahren hat sich die JSON-Schema-Spezifikation erheblich weiterentwickelt und bietet einen robusten Mechanismus zur Definition struktureller Regeln. Darüber hinaus bietet das jsonschema2pojo-Projekt ein speziell entwickeltes Tool, das JSON-Schemadokumente in Java-DTO-Klassen konvertiert. Obwohl es sich noch in der Entwicklung befindet, deckt es wesentliche Teile des JSON-Schemas ab. Für die kontinuierliche Weiterentwicklung ist das Feedback der Benutzer von entscheidender Bedeutung, das Sie über die Befehlszeile oder das Maven-Plugin bereitstellen können.

Das obige ist der detaillierte Inhalt vonWie generiert man Java-Klassen aus JSON mit dem jsonschema2pojo Maven Plugin?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn