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 :
<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>
Considérez les données JSON suivantes :
{ "firstName": "John", "lastName": "Smith", "address": { "streetAddress": "21 2nd Street", "city": "New York" } }
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")); } }
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!