从前台输入的的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;
}

@Overridepublic 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;}