java反射取实体字符串_java反射实现前端接收实体对象,去除“null”字符串

该博客讨论了在从JSON数据转换为Java实体类时,可能出现的null值被转换为"null"字符串的问题。这可能导致数据库存储异常,尤其是在实体类字段众多的情况下。博主提供了一个数据转换类,通过反射机制遍历所有String类型字段,将null或"NULL"、"null"自动转换为空字符串,以此避免数据格式问题。
摘要由CSDN通过智能技术生成

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值