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

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

Patricia Arquette
Libérer: 2024-11-28 21:10:16
original
471 Les gens l'ont consulté

How Can I Generate Java Classes from JSON Data Using the jsonschema2pojo Maven Plugin?

Pouvez-vous générer des classes Java à partir de JSON ?

En tant que développeur Java, vous pouvez rencontrer des situations dans lesquelles vous devez générer des fichiers source Java à partir de données JSON. Cela peut être une technique précieuse pour créer des objets de transfert de données (DTO) ou des POJO (Plain Old Java Objects) qui reflètent les structures JSON.

Voici comment y parvenir à l'aide du jsonschema2pojo plugin Maven :

Configuration du plugin Maven

  1. Ajoutez la configuration du plugin suivante à votre fichier 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>
Copier après la connexion
  • sourceDirectory : Spécifie l'emplacement de vos fichiers de schéma JSON.
  • targetPackage : définit le nom du package pour votre généré classes.
  • sourceType : Indique que la source est JSON (supprimez cette ligne si vous utilisez des schémas JSON).

Exemple de données JSON

Considérez les données JSON suivantes :

{
  "firstName": "John",  
  "lastName": "Smith",  
  "address": {  
    "streetAddress": "21 2nd Street",  
     "city": "New York"
  }
}
Copier après la connexion

Java généré Classes

Lors de l'exécution du plugin Maven, les classes Java suivantes seront générées :

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"));
    }
}
Copier après la connexion

Ces classes générées offrent un accès facile aux données dans la structure JSON, vous permettant de travailler avec le données de manière pratique et orientée objet.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal