Maison  >  Article  >  Java  >  Comment puis-je générer du code source Java à partir de données JSON ?

Comment puis-je générer du code source Java à partir de données JSON ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-19 19:39:03891parcourir

How Can I Generate Java Source Code from JSON Data?

Génération de code source Java à partir de JSON : exploration de solutions

La génération de code source Java à partir de fichiers JSON est une tâche courante pour diverses applications. Cet article vise à fournir des solutions à ce problème, en équipant les développeurs Java d'outils et de techniques pour automatiser le processus.

Solution 1 : Schéma JSON vers POJO (jsonschema2pojo)

Une solution populaire pour générer du Java classes de JSON est l'outil jsonschema2pojo. Ce projet open source prend un document de schéma JSON comme entrée et génère des classes Java qui adhèrent au schéma défini. Jsonschema2pojo peut être utilisé via la ligne de commande ou intégré dans un projet Maven via le plugin Maven.

Configuration Maven pour jsonschema2pojo

Pour utiliser le plugin jsonschema2pojo Maven, ajoutez la configuration suivante à votre 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>

Cette configuration suppose que vos fichiers de schéma JSON se trouvent dans le répertoire "src/main/resources/schemas", et les classes Java générées seront placées dans le répertoire "com.myproject. jsonschemas".

Exemple d'entrée et de sortie

Considérez l'entrée JSON suivante :

{
  "firstName": "John",  
  "lastName": "Smith",  
  "address": {  
    "streetAddress": "21 2nd Street",  
     "city": "New York"
  }
}

Avec jsonschema2pojo, le code Java généré ressemblerait à :

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

Ce code généré encapsule les données JSON dans des objets Java, offrant un accès facile aux structures de données imbriquées.

Conclusion

En tirant parti d'outils comme jsonschema2pojo, les développeurs Java peuvent automatiser la génération de classes Java à partir de JSON, améliorant ainsi la productivité et maintenant la cohérence du code. Cela leur permet de se concentrer sur la logique métier et les fonctionnalités spécifiques à l'application plutôt que sur les tâches manuelles de mappage des données.

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