上一编博客就写了这个工具类,但是想试一下用反射来把JSON的信息添加到JavaBean里面去。
1.直接上代码:
对比上一篇用BeanUtil工具类,可以看到,我这次是用了反射,利用() 方法进行对JavaBean对象进行处理的。同然可以达到相同的效果。
public class UtilJsonToJava {
public static <T>T UtilJsonToJava(String bytes,Class clas) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
//把String类型的bytes转换成byte[]
byte[] Bytes=();
//得到String类型的json格式
String json=UtilBase64.decodeBase64(Bytes);
//把String类型的json转换成JSONObject
JSONObject jsonObject =new JSONObject().fromObject(json);
//获得json的keys
Iterator iterator=();
//建立一个类对象
T javaBean=(T)();
//获得方法
while(()){
String key=(String)();
Method method=("set"+key, );
(javaBean, (key));
}
return javaBean;
}
}
不过这样写的缺点就是JavaBean的变量名设计就要全部大写了。因为代码中().这个方法中,获取javaBean方法名的的格式是set+"ID"。所以这里的限定了javaBean类的设置。
期望你的留言以及鼓励。