java反射實現前端接收實體對象,去除“null”字符串
阿新 • • 發佈:2018-06-01
學習工具總結從前臺輸入的的json 格式數據。轉換成對應的實體類後。 可能會出現把null 轉換成“null”字符串。這樣的數據在存入數據庫是可能會因為數據格式,存入時會有問題。實體字段多,修改有很麻煩。所以需要統一編輯處理下。
this.returnCode = returnCode;
}
public String getCustomerNo() {
return customerNo;
}
public void setCustomerNo(String customerNo) {
this.customerNo = customerNo;
}
實體類
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) {
}
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; }
java反射實現前端接收實體對象,去除“null”字符串