从前台输入的的json 格式数据。转换成对应的实体类后。 可能会出现把null 转换成“null”字符串。这样的数据在存入数据库是可能会因为数据格式,存入时会有问题。实体字段多,修改有很麻烦。所以需要统一编辑处理下。
实体类
package com.tansun.ider.model.vo;
public class XXXXVO {
private String returnCode;
private String customerNo;
public String getReturnCode() {
return returnCode;
}
public void setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public String getCustomerNo() {
return customerNo;
}
public void setCustomerNo(String customerNo) {
this.customerNo = customerNo;
}
@Override
public String toString() {
return "XXXXVO [returnCode=" + returnCode + ", customerNo=" + customerNo + "]";
}
}
数据转换类
/**
* 把vo类中String类型的参数的null值或"NULL","null"转化成空字符串
* @param obj
* @return
*/
public static Object getReflectObjectTransString(Object obj) throws Exception{
Class<? extends Object> classz = obj.getClass();
Field[] fields=classz.getDeclaredFields();
for(Field field:fields){
if(String.class == field.getType()){
// 属性参数值首字母转成大写
char[] cs=(field.getName()).toCharArray();
cs[0]-=32;
String methodGetName = "get"+String.valueOf(cs);
String methodSetName = "set"+String.valueOf(cs);
Method getMethod = classz.getMethod(methodGetName, null);
Method setMethod = classz.getMethod(methodSetName, String.class);
Object value = getMethod.invoke(obj, null);
if(null == value || "NULL".equals((String)value) || "null".equals((String)value))
{
setMethod.invoke(obj, "");
}
}
}
return obj;
}
原文地址:http://blog.51cto.com/11232071/2123225
时间: 2024-09-26 06:05:57