使用jsonschema2pojo根据JSON文件自动生成Java POJO类(Java Bean)源文件

首先github地址wiki如点击打开链接:

本文主要介绍根据jsonschema2pojo工具来自动生成java pojo(java bean,DTO),使用maven plugin的方式来完成java bean的生成,如需其它方式可以访问官网进行尝试。

一、jsonschema2pojo 基本介绍

jsonschema2pojo是一款用于根据JSON文件生成Java bean类的工具,主要特性:

目前支持5钟方式自动生成,本文是讲述的第一种:
使用jsonschema2pojo-maven-plugin的maven插件
通过命令行使用jsonschema2pojo-cli
使用jsonschema2pojo-ant
gradle插件使用gradle-jsonschema2pojo
从你的代码(嵌入式)使用jsonschema2pojo-core
它可以通过指定JSON模式(schema)和直接指定JSON文件两种形式来生成Java类,并可以配置生成Jackson1、Jackson2、Gson三个库(对字段)的注解,当然也可以配置不生成注解。
它还可以通过指定字段中的分隔符将如string_number的json字段名转换为驼峰命名的java字段stringNumber。

这款工具非常的强大,虽然还有其它工具,但觉得使用了这个工具之后感觉very good!

该工具提供了一个在线网站转换:点击打开链接

二、配置

目前生成的类型取决于Commons Lang for equals,hashCode和toString。

在pom.xml添加如下依赖

  
            commons-lang
            commons-lang
            2.4
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.4
        
生成类的定位在java 6 或更高版本

        
            org.apache.maven.plugins
            maven-compiler-plugin
            
                1.6
                1.6
            
        
然后在pom.xml 文件plugins标签中新增如下配置:


    org.jsonschema2pojo
    jsonschema2pojo-maven-plugin
    0.4.34
    
        ${basedir}/src/main/resources   
        com.example.bean
        ${basedir}/src/main/java  
        false
        json	
        none
    
    
        
            
                generate
            
        
    

说明:

主要关注configuration节点下面的配置项:

sourceDirectory:json文件所在的目录,会将该目录下所有json进行转换,不支持指定单个文件,如果不想全部转换,可以添加一个excludes节点。如:


init.json

targetPackage:生成的Java pojo类目标包名。
outputDirectory:生成Java pojo类的(根)目录,换句话说,源文件最终目录为此目录+包目录,注意,此值默认为target\java-gen,官方配置中并没有该默认值,如果成功生成后发现找不到源文件,看一看是不是这个原因。
addCompileSourceRoot:是否将输出目录作为项目的源码根目录。
sourceType:json格式,两个可选值,jsonschema:json模式和json:json文件,默认为jsonschema,不过我们一般是希望直接使用json文件生成,所以指定为json`。

annotationStyle:生成的(字段)注解样式。

使用mvn pageckage命令或使用如下图plugins

使用jsonschema2pojo根据JSON文件自动生成Java POJO类(Java Bean)源文件_第1张图片

参考链接:

  1. maven配置文档网址



你可能感兴趣的:(Java)