java 反射 将json对象转换为实体类
2013-05-02 15:19
495 查看
/** * 将json对象转换为java对象的工具类 * * @param entityName * 类的完全限定名 (例:com.sura.entity.SuraStoreroomAssistStockinfo) * @param object * 需要转换的json对象(只可以为JSONObject对象不能使JSONArry对象) * @return 返回对应的java实体 * @throws ClassNotFoundException * @throws InstantiationException * @throws IllegalAccessException * @throws ParseException */ public Object getNewObj(String entityName, JSONObject object) throws ClassNotFoundException, InstantiationException, IllegalAccessException, ParseException { Class cl = Class.forName(entityName); Object obj = cl.newInstance(); Field[] fds = cl.getDeclaredFields(); for (Field fd : fds) { if (!fd.isAccessible()) { fd.setAccessible(true); } Set<String> setref = object.keySet(); for (String keyref : setref) { // System.out.println(key); if (keyref.indexOf(".") != -1) { String key = keyref.split("\\.")[1]; if (fd.getName().equals(key)) { String value = object.get(keyref).toString(); if (fd.getType().equals(Long.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Long.parseLong(value)); } } else if (fd.getType().equals(String.class)) { fd.set(obj, value); } else if (fd.getType().equals(Integer.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Integer.parseInt(value)); } } else if (fd.getType().equals(Double.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Double.parseDouble(value)); } } else if (fd.getType().equals(Timestamp.class)) { if (!value.equals("") && !value.equals("null")) { Date zhxhrq = null; if (value.indexOf(" ") == -1) { zhxhrq = this.getsdf().parse( value + " 00:00:00"); } else { zhxhrq = this.getsdf().parse(value); } fd.set(obj, Timestamp.valueOf(this.getsdf().format( zhxhrq))); } } else if (fd.getType().equals(Date.class)) { if (!value.equals("") && !value.equals("null")) { Date zhxhrq = null; if (value.indexOf(" ") == -1) { zhxhrq = this.getsdf().parse( value + " 00:00:00"); System.out.println(zhxhrq); } else { zhxhrq = this.getsdf().parse(value); System.out.println(zhxhrq); } fd.set(obj, zhxhrq); } } } } else { String key = keyref.trim(); if (fd.getName().equals(key)) { String value = object.get(keyref).toString(); if (fd.getType().equals(Long.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Long.parseLong(value)); } } else if (fd.getType().equals(String.class)) { fd.set(obj, value); } else if (fd.getType().equals(Integer.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Integer.parseInt(value)); } } else if (fd.getType().equals(Double.class)) { if (!value.equals("") && !value.equals("0")) { fd.set(obj, Double.parseDouble(value)); } } else if (fd.getType().equals(Timestamp.class)) { if (!value.equals("") && !value.equals("null")) { Date zhxhrq = null; if (value.indexOf(" ") == -1) { zhxhrq = this.getsdf().parse( value + " 00:00:00"); } else { zhxhrq = this.getsdf().parse(value); } fd.set(obj, Timestamp.valueOf(this.getsdf().format( zhxhrq))); } } else if (fd.getType().equals(Date.class)) { System.out.println(value); if (!value.equals("") && !value.equals("null")) { Date zhxhrq = null; if (value.indexOf(" ") == -1) { zhxhrq = this.getsdf().parse( value + " 00:00:00"); } else { zhxhrq = this.getsdf().parse(value); } fd.set(obj, zhxhrq); } } } } } } return obj; }
相关文章推荐
- java使用反射将json对象转换为java对象
- 利用Java反射实现普通对象到JSONObject的转换
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
- 利用泛型和反射对Java对象集合转换成Json的工具类
- Json字符串转换为java对象的各种实现方法
- Gson实现 java对象和json互相转换
- java中List对象转换为JSON对象
- jackson进行json与java对象转换
- java中Map等对象转换为json
- jsontools实现java对象与json值之间互相转换
- JAVA对象JSON数据互相转换的四种常见情况
- Android中通过annotation实现java对象和json的转换
- json数据解析与JAVA对象转换以及在JQUERY中的使用
- java对象与json对象间的相互转换
- java反射实现对象转JSON(粘贴可用)
- JAVA实现json和对象间的相互转换