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