- 注册时间
- 2013-8-2
- 最后登录
- 2013-8-2
- 阅读权限
- 10
- 积分
- 15
- 精华
- 0
- 帖子
- 6

|
我通常是自己写一个方法来装入对象参考代码
// 把json数据转换成java对象仅支持 属性是String ,int ,Intgeter,float,Float,double,Double,java.sql.Date,java.util.Date的java对象
public static void jsonParamToObject(HttpServletRequest request ,Object object,String beanName){
Class c=object.getClass();
Enumeration enu=request.getParameterNames();
Object o=null;
String fieldName=null;
String attr[]=null;
Field field=null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
while(enu.hasMoreElements()){
o=enu.nextElement();
try{
if(String.class.equals( o.getClass())&&o.toString().indexOf(beanName)==0){
fieldName=o.toString();
attr=fieldName.split("\\[");
if(attr.length<=1)continue;
fieldName=attr[attr.length-1].replaceAll("]", "");
field=c.getDeclaredField(fieldName);
field.setAccessible(true);
if(String.class.equals(field.getType()))field.set(object, request.getParameter(o.toString()));
else if(Integer.class.equals(field.getType())||int.class.equals(field.getType()))field.set(object, Integer.parseInt(request.getParameter(o.toString()).toString()));
else if(Float.class.equals(field.getType())||float.class.equals(field.getType()))field.set(object, Float.parseFloat(request.getParameter(o.toString()).toString()));
else if(Double.class.equals(field.getType())||double.class.equals(field.getType()))field.set(object, Double.parseDouble(request.getParameter(o.toString()).toString()));
else if(Date.class.equals(field.getType())){
Date jsd=new Date(sdf.parse(request.getParameter(o.toString()).toString()).getTime());
field.set(object,jsd);
}else if(java.util.Date.class.equals(field.getType())){
java.util.Date jud=sdf.parse(request.getParameter(o.toString()).toString());
field.set(object,jud);
}
}
}catch (Exception e) {
System.out.println("\n--"+60);
}
}
} |
|