(反射方法)写一个将一个String类型的json经过base64加密后解密转化成javaBean的工具类
2017-03-22 23:19
441 查看
上一编博客就写了这个工具类,但是想试一下用反射来把JSON的信息添加到JavaBean里面去。
1.直接上代码:
对比上一篇用BeanUtil工具类,可以看到,我这次是用了反射,利用Class.getMethod() 方法进行对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=bytes.getBytes();
//得到String类型的json格式
String json=UtilBase64.decodeBase64(Bytes);
//把String类型的json转换成JSONObject
JSONObject jsonObject =new JSONObject().fromObject(json);
//获得json的keys
Iterator iterator=jsonObject.keys();
//建立一个类对象
T javaBean=(T)clas.newInstance();
//获得方法
while(iterator.hasNext()){
String key=(String)iterator.next();
Method method=clas.getMethod("set"+key, String.class);
method.invoke(javaBean, jsonObject.get(key));
}
return javaBean;
}
}
不过这样写的缺点就是JavaBean的变量名设计就要全部大写了。因为代码中clas.getMetod().这个方法中,获取javaBean方法名的的格式是set+"ID"。所以这里的限定了javaBean类的设置。
期望你的留言以及鼓励。
1.直接上代码:
对比上一篇用BeanUtil工具类,可以看到,我这次是用了反射,利用Class.getMethod() 方法进行对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=bytes.getBytes();
//得到String类型的json格式
String json=UtilBase64.decodeBase64(Bytes);
//把String类型的json转换成JSONObject
JSONObject jsonObject =new JSONObject().fromObject(json);
//获得json的keys
Iterator iterator=jsonObject.keys();
//建立一个类对象
T javaBean=(T)clas.newInstance();
//获得方法
while(iterator.hasNext()){
String key=(String)iterator.next();
Method method=clas.getMethod("set"+key, String.class);
method.invoke(javaBean, jsonObject.get(key));
}
return javaBean;
}
}
不过这样写的缺点就是JavaBean的变量名设计就要全部大写了。因为代码中clas.getMetod().这个方法中,获取javaBean方法名的的格式是set+"ID"。所以这里的限定了javaBean类的设置。
期望你的留言以及鼓励。
相关文章推荐
- 写一个将一个String类型的json经过base64加密后解密转化成javaBean的工具类
- 读取本地json文件,转出为指定格式json 使用Base64进行string的加密和解密
- StringUtils 工具类中判断一个string类型的值是否为空的几种方法
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- C#加密解密方法,C#一个加密解密的方法,字符串加密算法
- out.print(JSONArray.fromObject(al2)); 得到的是一个String类型的字符串
- JSON对象转化为String字符串(包含方法体内容的输出)
- 异或加密法 在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。 解密的方法就是再执行一次同样的操作。
- 收集java的常用方法代码-MD5和一个可逆加密算法相接合的加密和解密程序
- 自己用反射写的一个javaBean工具类
- 对一个件加密和解密的一个简单方法
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- base64加密解密实现方法
- 将一个对象转化为类json风格字符串的工具类
- 如何将一个List<Map<String,String>>类型的集合数据转换成json格式输出
- hibernate中用uniqueResult() 方法能得到一个String 类型的值吗?
- 一个很实用的加密解密方法
- 3DES+Base64 加密解密的方法
- 将任意一个对象中的所有String类型 的成员变量所对应字符串中的“b”改成“a”(利用反射)
- 异或加密法 在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。 解密的方法就是再执行一次同样的操作。