從前臺輸入的的json 格式數據。轉換成對應的實體類後。 可能會出現把null 轉換成「null」字符串。這樣的數據在存入數據庫是可能會由於數據格式,存入時會有問題。實體字段多,修改有很麻煩。因此須要統一編輯處理下。數據庫
實體類
package com.tansun.ider.model.vo;json
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;
}ide
@Override public String toString() { return "XXXXVO [returnCode=" + returnCode + ", customerNo=" + customerNo + "]"; }
}this
數據轉換類code
/** * 把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; }