JSON

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

字号+ 作者:H5之家 来源:H5之家 2017-05-20 11:01 我要评论( )

根据JSON文件自动生成Java POJO类(Java Bean)源文件 本文介绍使用程序 jsonschema2pojo 来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参

> 软件编程 > Java编程 >

使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件 2017-05-14 10:36 出处:清屏网 人气: 

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

本文介绍使用程序 jsonschema2pojo 来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参考官方文档。

jsonschema2pojo 基本介绍

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

  • 支持ant,maven,gradle,命令行和直接的程序调用五种方式来进行java源代码的生成。
  • 它可以通过指定JSON模式(schema)和直接指定JSON文件两种形式来生成Java类,并可以配置生成Jackson1、Jackson2、Gson三个库(对字段)的注解,当然也可以配置不生成注解。
  • 它还可以通过指定字段中的分隔符将如 string_number 的json字段名转换为驼峰命名的java字段 stringNumber 。
  • 还有其他的一些配置。
  • 这款工具可以说非常强大,可以应付我们大部分的需求了。

    该工具提供了一个在线网站,可以通过该网站体验一下: 链接

    配置

    先要在maven项目的 pom.xml 文件中添加 common-lang 的依赖:

    <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>

    然后在maven项目的 pom.xml 文件中的 plugins 节点下添加一个插件:

    <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源文件。

    说明

    已知的问题:

  • 该程序会对所有的json对象( {} 包起来的)都进行java文件的生成,暂时没发现可以进行选择性生成的配置。
  • 参考链接:
  • github主页
  • 在线体验网址
  • maven配置文档网址
  • 分享给小伙伴们:

    本文标签: maven,JSON,POJO/">maven,JSON,POJO

    相关文章

    发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

  • 本类最热新闻

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • jquery 封装json数组

      jquery 封装json数组

      2017-05-20 09:01

    • Android读取本地json文件的方法(解决显示乱码问题)

      Android读取本地json文件的方法(解决显示乱码问题)

      2017-05-20 09:00

    • 使用sqlite实现自动缓存json数据

      使用sqlite实现自动缓存json数据

      2017-05-20 08:06

    • JSON.stringify 函数 (JavaScript)讲解

      JSON.stringify 函数 (JavaScript)讲解

      2017-05-19 14:06

    网友点评