本文共 1587 字,大约阅读时间需要 5 分钟。
从前台输入的的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 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;}
转载于:https://blog.51cto.com/11232071/2123225