本文介紹使用程序jsonschema2pojo
來自動生成Java的POJO類源文件,本文主要使用maven,其餘構建工具請參考官方文檔。html
jsonschema2pojo是一款用於根據JSON文件生成Java POJO類的工具,主要特性:java
string_number
的json字段名轉換爲駝峯命名的java字段stringNumber
。這款工具能夠說很是強大,能夠應付咱們大部分的需求了。git
該工具提供了一個在線網站,能夠經過該網站體驗一下:連接github
先要在maven項目的pom.xml
文件中添加common-lang
的依賴:json
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
而後在maven項目的pom.xml
文件中的plugins
節點下添加一個插件:maven
<plugin> <groupId>org.jsonschema2pojo</groupId> <artifactId>jsonschema2pojo-maven-plugin</artifactId> <version>0.4.34</version> <configuration> <sourceDirectory>${basedir}/src/main/resources</sourceDirectory> <targetPackage>com.demo.bean</targetPackage> <outputDirectory>${basedir}/src/main/java</outputDirectory> <addCompileSourceRoot>false</addCompileSourceRoot> <sourceType>json</sourceType> <annotationStyle>none</annotationStyle> </configuration> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin>
主要關注configuration節點下面的配置項:工具
sourceDirectory
:json文件所在的目錄,會將該目錄下全部json進行轉換,不支持指定單個文件,若是不想所有轉換,能夠添加一個excludes
節點。如:<excludes> <exclude>init.json</exclude> </excludes>
targetPackage
:生成的Java pojo類目標包名。outputDirectory
:生成Java pojo類的(根)目錄,換句話說,源文件最終目錄爲此目錄+包目錄,注意,此值默認爲target\java-gen
,官方配置中並無該默認值,若是成功生成後發現找不到源文件,看一看是否是這個緣由。addCompileSourceRoot
:是否將輸出目錄做爲項目的源碼根目錄。sourceType
:json格式,兩個可選值,jsonschema
:json模式和json
:json文件,默認爲jsonschema,不過咱們通常是但願直接使用json文件生成,因此指定爲
json`。annotationStyle
:生成的(字段)註解樣式,有五個可選值:jackson1
、jackson2
、gson
、moshi1
和none
,默認是jackson2
,通常指定none
就能夠了,還有好比用fastjson
,那也要指定none
。直接執行mvn package
打包命令就能夠進行生成操做了,執行成功後你會在對應的包下面發現生成的java pojo源文件。gradle
已知的問題:網站
{}
包起來的)都進行java文件的生成,暫時沒發現能夠進行選擇性生成的配置。若有錯誤,請留言指正,謝謝。插件