作为 Java 开发人员,您可能会遇到需要从 JSON 数据生成 Java 源文件的情况。这对于创建镜像 JSON 结构的数据传输对象 (DTO) 或 POJO(普通旧式 Java 对象)来说是一项很有价值的技术。
以下是如何使用 jsonschema2pojo 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>
考虑以下 JSON 数据:
{ "firstName": "John", "lastName": "Smith", "address": { "streetAddress": "21 2nd Street", "city": "New York" } }
运行 Maven 插件后,将生成以下 Java 类:
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")); } }
这些生成的类可以轻松访问 JSON 结构中的数据,使您能够使用以方便且面向对象的方式获取数据。
以上是如何使用 jsonschema2pojo Maven 插件从 JSON 数据生成 Java 类?的详细内容。更多信息请关注PHP中文网其他相关文章!