一种实现JSON快速转化为JavaBean方法、装置制造方法及图纸

技术编号:25834194 阅读:47 留言:0更新日期:2020-10-02 14:15
本发明专利技术提供一种实现JSON快速转化为JavaBean方法、装置,编写与处理程序在程序编译打包之前做预处理,为每个JavaBean自动生成JSON转化函数,将JSON快速转化为JavaBean;方法具体包括如下步骤:新建JsonUtils类代码文件;根据配置文件,读取每个JavaBean对应的类名;遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码;将JSON转化函数的代码添加到新建JsonUtils类代码文件,使其作为JsonUtils类的成员函数。

【技术实现步骤摘要】
一种实现JSON快速转化为JavaBean方法、装置
本专利技术涉及节约内存的存储管理软件缓存数据
,具体涉及实现一种JSON快速转化为JavaBean方法、装置。
技术介绍
当今社会互联网高速发展,使得WEB应用非常广泛,涉及我们生活的各个方面,据不完全统计,80%的WEB应用使用JSON作为前端与后端Java的交互数据。当前JSON转化为JavaBean的方法一般是根据JSON对象各个字段名,找到对应的Setter方法,利用Java反射机制,调用对应的Setter方法,达到为JavaBean字段赋值的目的。然而,利用Java反射机制调用Setter方法性能较差,与直接调用Setter方法相比,甚至可能会慢几十倍,这就导致JSON转JavaBean性能降低。
技术实现思路
针对利用Java反射机制调用Setter方法性能较差,与直接调用Setter方法相比,甚至可能会慢几十倍,这就导致JSON转JavaBean性能降低的问题,本专利技术提供一种实现JSON快速转化为JavaBean方法、装置。本文档来自技高网...

【技术保护点】
1.一种实现JSON快速转化为JavaBean方法,其特征在于,编写与处理程序在程序编译打包之前做预处理,为每个JavaBean自动生成JSON转化函数,将JSON快速转化为JavaBean;具体包括如下步骤:/n新建JsonUtils类代码文件;/n根据配置文件,读取每个JavaBean对应的类名;/n遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码;/n将JSON转化函数的代码添加到新建JsonUtils类代码文件,使其作为JsonUtils类的成员函数。/n

【技术特征摘要】
1.一种实现JSON快速转化为JavaBean方法,其特征在于,编写与处理程序在程序编译打包之前做预处理,为每个JavaBean自动生成JSON转化函数,将JSON快速转化为JavaBean;具体包括如下步骤:
新建JsonUtils类代码文件;
根据配置文件,读取每个JavaBean对应的类名;
遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码;
将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方法,其特征在于,所述的遍历每一个JavaBean类名,为每个JavaBean生成JSON转化函数的代码的步骤中,生成JSON转化函数的代码的步骤包括:
Step51:将JSON转化为Map对象的代码添加到第一函数体中;
Step52:将新建空第一对象的代码添加到第一函数体中;
Step53:利用Java反射,获取第一对象的所有成员变量及成员变量类型;
Step54:检查是否存在未处理过的成员变量,如果不存在,则结束;否则获取一个成员变量及其类型,转到下一步;
Step55:根据成员变量类型生成转换代码并将代码添加到第一函数体中,执行步骤Step54。


5.根据权利要求4所述的一种实现JSON快速转化为JavaBean方法,其特征在于,Step55的步骤具体包括:
Step551:若成员变量类型为基本类型或其封装类,则将如下代码添加到第一函数体中:obj.set${member}(to${type}(jsonMap.get(${member})));
其中${member}为成员变量名,${type}为其类型名;转到下一步;
Step552:若成员变量类型为JavaBean,则将如下代码添加到第一函数体中:jsonTo${type}((jsonMap.get(${member}));转到下一步;
Step553:若成员变量类型是数组或ArrayList,则将数组或ArrayList的每个成员转化为基本类型或J...

【专利技术属性】
技术研发人员:高瑞胜
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1