Maison >Java >javaDidacticiel >Comment générer des classes Java à partir de JSON à l'aide du plugin Maven jsonschema2pojo ?

Comment générer des classes Java à partir de JSON à l'aide du plugin Maven jsonschema2pojo ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 04:45:12702parcourir

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

Comment générer des classes Java à partir de JSON dans Maven

La génération de fichiers source Java à partir de JSON est une technique précieuse pour le mappage objet-JSON et la sérialisation des données. Dans ce scénario, nous cherchons à créer des classes Java ressemblant à ce qui suit :

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

Pour réaliser cette génération dans un projet Maven, vous pouvez exploiter un outil complet tel que http://www.jsonschema2pojo.org. Alternativement, vous pouvez utiliser le plug-in jsonschema2pojo pour Maven :

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

Pour les sources JSON, vous pouvez spécifier json. Cependant, si vous possédez de véritables schémas JSON, cette ligne n'est pas nécessaire.

Ces dernières années, la spécification JSON Schema a considérablement progressé, offrant un mécanisme robuste pour définir des règles structurelles. De plus, le projet jsonschema2pojo fournit un outil spécialement conçu qui convertit les documents de schéma JSON en classes Java DTO. Bien qu'il soit encore en développement, il couvre des parties essentielles du schéma JSON. Les commentaires des utilisateurs sont cruciaux pour son évolution continue, que vous pouvez fournir via la ligne de commande ou le plugin Maven.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn