Skip to content

JsonToJavaClass Updated 2 minutes ago 这里是将json对象或者字符串转换Java成实体类,与网上不同的是,这里创建的实体类的结构有json对象 的结构一一对应,网上的都是将实体类生成在一个文件夹中,有bug,就是两个key值相同,但是在不同的地方(如果值是对象),当生成对应的实体类就会出现覆盖的现象,这里还有一些bug,详情请看readme.md文件

Notifications You must be signed in to change notification settings

2868463718/JsonToJavaClass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

json生成实体类

环境:

1.springboot项目

2.使用的是gosn解析json字符串

3.idea要有lombok插件

4.pom文件要导入lombok的jar,因为这里只是创建属性字段,没有创建getter,setter,tostring还有构造函数等等,是使用lombok来替代的

优点:

1.网上的json转实体类工具只是将实体类都生成到一个文件夹,当不同对象有相同的属性值key,其value也是对象时,两个value对象里面的属性值不同,创建的实体类就会覆盖原来的生成的实体类

2.我这个是根据json对象的结构生成对应的实体类包结构,这样就避免了实体类被覆盖的情况。

3.生成的实体类的根目录是根据配置文件来指定的,最后json转的大的最顶层的Java实体类的名字也可以通过配置文件来指定

用法:

1.修改application属性文件,指定生成实体类的根目录,已经生成的最顶层的Java类的名字,还有要生成位置的项目的坐标(就是那个项目需要用到生成的实体类,然后设置其坐标,当然按道理应该设置到实体类生成的根目录)

2.调用MyJsonParser的parse方法执行。

缺点:

1.首先json对象里面的值不能为null,这里主要是创建实体类,为空就没意义了。

2.其次数组不能是 数组里面还是数组,这个暂时还没有实现。

3.这里只是将key设置为Java类的属性名,可能出现在json对象中的key的命名合法,但是在Java中命名不合法,还没修改

扩展:

1.添加了类包名的获取,就是可以正确的设置其类的包名,主要是通过配置文件中的坐标属性,其是要生成的实体类在 某一个项目下的 位置,即该坐标指定了项目(用于生成实体类的根目录的项目)的坐标,即 groupId+artifactId

2.添加了类中相关类属性的导入的类的路径,就是 一些 import

3.添加过滤json对象中key命名对于Java命名不规范的情况,即过滤 以@开头的变量名,将@ 去掉,这里只考虑一种情况,其他的还没有考虑

About

JsonToJavaClass Updated 2 minutes ago 这里是将json对象或者字符串转换Java成实体类,与网上不同的是,这里创建的实体类的结构有json对象 的结构一一对应,网上的都是将实体类生成在一个文件夹中,有bug,就是两个key值相同,但是在不同的地方(如果值是对象),当生成对应的实体类就会出现覆盖的现象,这里还有一些bug,详情请看readme.md文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages