[发明专利]一种实现JSON快速转化为JavaBean方法、装置有效
申请号: | 202010470185.8 | 申请日: | 2020-05-28 |
公开(公告)号: | CN111736842B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 高瑞胜 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张营磊 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 json 快速 转化 javabean 方法 装置 | ||
1.一种实现JSON快速转化为JavaBean方法,其特征在于,编写与处理程序在程序编译打包之前做预处理,为每个JavaBean自动生成JSON转化函数,将JSON快速转化为JavaBean;具体包括如下步骤:
新建JsonUtils类代码文件;
根据配置文件,读取每个JavaBean对应的类名;
遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码;包括:Step51:将JSON转化为Map对象的代码添加到第一函数体中;Step52:将新建空第一对象的代码添加到第一函数体中;Step53:利用Java反射,获取第一对象的所有成员变量及成员变量类型;Step54:检查是否存在未处理过的成员变量,如果不存在,则结束;否则获取一个成员变量及其类型,转到下一步;Step55:根据成员变量类型生成转换代码并将代码添加到第一函数体中,执行步骤Step54;将JSON转化函数的代码添加到新建JsonUtils类代码文件,使其作为JsonUtils类的成员函数。
2.根据权利要求1所述的一种实现JSON快速转化为JavaBean方法,其特征在于,所述的遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码的步骤包括:
检查是否存在未处理的JavaBean,若否,则结束;否则,每次取一个未处理的JavaBean,利用Java反射技术,使用JavaBean类名,生成对应的Class对象;
使用Class对象,生成JSON转化为对应JavaBean的函数代码;
直至将未处理的JavaBean处理完成。
3.根据权利要求1所述的一种实现JSON快速转化为JavaBean方法,其特征在于,根据配置文件,读取每个JavaBean对应的类名的步骤包括:
检测JavaBean所处位置,若JavaBean均在设定的目录下,将设定的目录写入配置文件,通过遍历这些目录下的所有JavaBean文件即可获取JavaBean类名;否则,将JavaBean对应的类名写入配置文件。
4.根据权利要求1所述的一种实现JSON快速转化为JavaBean方法,其特征在于,Step55的步骤具体包括:
Step551:若成员变量类型为基本类型或其封装类,则将如下代码添加到第一函数体中:obj.set${member}(to${type}(jsonMap.get(${member})));
其中${member}为成员变量名,${type}为其类型名;转到下一步;
Step552:若成员变量类型为JavaBean,则将如下代码添加到第一函数体中:jsonTo${type}((jsonMap.get(${member}))) ;转到下一步;
Step553:若成员变量类型是数组或ArrayList,则将数组或ArrayList的每个成员转化为基本类型或JavaBean,组成新数组或ArrayList,然后调用成员变量的Setter方法进行赋值,参照步骤Step551和Step552生成转化代码,并添加到第一函数体中;转到下一步;
Step554:若成员变量类型是HashMap, 则分别将key与value的JSON转化为基本类型或JavaBean,将其加入新的HashMap,然后调用成员变量的Setter方法进行赋值,参照步骤Step551和Step552生成转化代码,并添加到第一函数体中;转到下一步;
Step555:若成员变量是其它类型,参照步骤Step551和Step552生成转化代码,并添加到第一函数体中;转到Step54。
5.根据权利要求4所述的一种实现JSON快速转化为JavaBean方法,其特征在于,所述的第一函数体包括jsonTo${JavaBean}函数体;
第一对象包括${JavaBean}对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010470185.8/1.html,转载请声明来源钻瓜专利网。