java反射机制的应用
来源:互联网 发布:妮维雅柔美润肤霜 知乎 编辑:程序博客网 时间:2024/05/17 22:57
/**
* json格式字符串数据转换成需要的对象为集合数据
* @param classObj
* @param base
* @return
* @throws Exception
*/
public List<T> printJsonList(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(base.getData()));
Field[] fields = classObj.getClass().getDeclaredFields();
String className = classObj.getClass().getSimpleName().toLowerCase().substring(3)+"_";
List<T> list=new ArrayList<T>();
for (Object obj : jsonArray) {
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(obj));
for (Field field : fields) {
String fieldValue = jsonObject.get(className+field.getName()).toString();
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
//Method m = classObj.getClass().getMethod("get" + upperCase);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
list.add(classObj);
}
return list;
}
/**
* json格式字符串数据转换成需要的对象为集合数据
* @param classObj
* @param base
* @return
* @throws Exception
*/
public T printJsonAcount(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
Field[] fields = classObj.getClass().getDeclaredFields();
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(base.getData()));
JSONObject jsonObject = jsonArray.getJSONObject(0);
for (Field field : fields) {
String fieldValue = jsonObject.get("account_"+field.getName()).toString();
if(fieldValue==null||"".equals(fieldValue)){
fieldValue="0";
}
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
return classObj;
}
/**
* 筛选单个对象
* @param classObj
* @param base
* @return
* @throws Exception
*/
public T printJsonObject(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
Field[] fields = classObj.getClass().getDeclaredFields();
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(base.getData()));
for (Field field : fields) {
String fieldValue = jsonObject.get(field.getName()).toString();
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
//Method m = classObj.getClass().getMethod("get" + upperCase);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
return classObj;
}
* json格式字符串数据转换成需要的对象为集合数据
* @param classObj
* @param base
* @return
* @throws Exception
*/
public List<T> printJsonList(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(base.getData()));
Field[] fields = classObj.getClass().getDeclaredFields();
String className = classObj.getClass().getSimpleName().toLowerCase().substring(3)+"_";
List<T> list=new ArrayList<T>();
for (Object obj : jsonArray) {
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(obj));
for (Field field : fields) {
String fieldValue = jsonObject.get(className+field.getName()).toString();
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
//Method m = classObj.getClass().getMethod("get" + upperCase);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
list.add(classObj);
}
return list;
}
/**
* json格式字符串数据转换成需要的对象为集合数据
* @param classObj
* @param base
* @return
* @throws Exception
*/
public T printJsonAcount(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
Field[] fields = classObj.getClass().getDeclaredFields();
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(base.getData()));
JSONObject jsonObject = jsonArray.getJSONObject(0);
for (Field field : fields) {
String fieldValue = jsonObject.get("account_"+field.getName()).toString();
if(fieldValue==null||"".equals(fieldValue)){
fieldValue="0";
}
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
return classObj;
}
/**
* 筛选单个对象
* @param classObj
* @param base
* @return
* @throws Exception
*/
public T printJsonObject(T classObj, @SuppressWarnings("rawtypes") JsonBase base) throws Exception{
Field[] fields = classObj.getClass().getDeclaredFields();
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(base.getData()));
for (Field field : fields) {
String fieldValue = jsonObject.get(field.getName()).toString();
String upperCase = field.getName().toUpperCase().charAt(0)+field.getName().substring(1);
//Method m = classObj.getClass().getMethod("get" + upperCase);
Method m = classObj.getClass().getMethod("set"+upperCase,String.class);
m.invoke(classObj, fieldValue);
}
return classObj;
}
阅读全文
0 0
- JAVA反射机制的应用
- java反射机制的应用
- java反射机制的应用
- java 反射机制的应用
- java反射机制的应用
- Java反射机制应用
- java反射机制的常见应用
- JAVA反射机制的简单应用
- java 反射机制的一些应用
- java 反射机制的研究与应用
- JAVA反射机制的简单应用
- JAVA中反射机制的应用
- java反射机制的两个应用
- java 反射机制应用的封装
- Java中反射机制的应用
- Java反射机制的简单应用
- java反射机制的应用(转)
- JAVA反射机制的应用场景
- 解决关于selenium 获取新页面元素失败的问题
- @RestController
- Linux下C++读写txt文件
- 2017.8.7 数学作业 思考记录
- 框架学习系列 mybatis 第十一篇 mapper映射文件之输入映射
- java反射机制的应用
- c/c++易错知识点整理2(预处理,const,static,sizeof)(上)
- UnityEvent和UnityAction
- 【swift】显示与隐藏tabBar
- Hadoop中的数据倾斜整理
- Android6.0 Wi-Fi 整体架构
- 3650
- Android设置系统状态栏颜色--最简单直接方法
- Lintcode 装最多水的容器