Object转json字符串,Object转Map,Map转Object 简单源码
发布时间:2020-12-15 03:19:24 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public class AppObjectUtil { ?? ? ?? ?private static final Logger logger = LoggerFactory.getLogger(AppObjectUtil.class); ?? ?private static
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
public class AppObjectUtil {
?? ? ?? ?private static final Logger logger = LoggerFactory.getLogger(AppObjectUtil.class); ?? ?private static final String CLASSNAME = AppObjectUtil.class.getName(); ?? ?private static final String JSON__PROPERTY_FILE = CLASSNAME;?? ? ?? ?private static final String ESCAPE_JSON_RESPONSE = "escapeJSONResponse"; ?? ?private static Boolean iCrossSiteScriptingEnabled = null; ?? ?private static Boolean isEscapeNull = false; ?? ?private static final String lineSeparator = System.getProperty("line.separator");; ?? ?private final static String[][] ESCAPE_CHARACTERS = { ?? ??? ?{"\","\\"}, ?? ??? ?{""","\""}, ?? ??? ?{"n","\n"}, ?? ??? ?{"r","\r"}, ?? ??? ?{"t","\t"}, ?? ??? ?{"f","\f"}, ?? ??? ?// 根据http://www.json.org/上说明不必过滤一下字符 ?? ??? ?//{"'","'"}, ?? ?}; ?? ? ?? ?private final static String[][] CROSS_SITE_SCRIPTING_CHARACTERS = { ?? ??? ?{"&","&"}, ?? ??? ?{"<","<"}, ?? ??? ?{">",">"},?? ??? ? ?? ?}; ?? ? ?? ?private static Set<Object> iProcessedObjects; ?? ? ?? ?/** ?? ?* <p>Title: </p> ?? ?* <p>Description:构造器 </p> ?? ?*/ ?? ?public AppObjectUtil() { ?? ??? ?super(); ?? ?} ?? ? ??? /** ??? * @Title: objectToJson ??? * @Description: 把对象转换成json格式的数据 ??? * @param object ??? * @return ??? */ ?? ?public static String toJson(Object object,String dateFormat){ ?? ??? ?StringBuilder sb=new StringBuilder(); ?? ??? ?try { ?? ??? ??? ?iProcessedObjects = new HashSet<Object>();?? ? ?? ??? ??? ?outputAsJson(sb,"",object,dateFormat); ?? ??? ?} catch (Exception e) { ?? ??? ??? ?logger.error("toJson error",e); ?? ??? ?} ?? ??? ?return sb.toString(); ?? ?} ??? public static String toJson(Object object){ ?? ??? ?StringBuilder sb=new StringBuilder(); ?? ??? ?try { ?? ??? ??? ?iProcessedObjects = new HashSet<Object>();?? ? ?? ??? ??? ?outputAsJson(sb,object); ?? ??? ?} catch (Exception e) { ?? ??? ??? ?logger.error("toJson error",e); ?? ??? ?} ?? ??? ?return sb.toString(); ??? } ?? ? ?? ?/** ?? ?* @Title: outputAsJson ?? ?* @Description: 返回json格式的数据 ?? ?* @param sb 返回json数据到StringBuilder对象中 ?? ?* @param indent 当前indent ?? ?* @param object 需要转换成json格式的对象 ?? ?* @throws Exception ?? ?*/ ??? private static void outputAsJson(StringBuilder sb,String indent,Object object,String dateFormat) throws Exception { ?? ??? ?if (object == null) { ?? ??? ??? ?if(getIsEscapeNull()){ ?? ??? ??? ??? ?return; ?? ??? ??? ?} ?? ??? ??? ?sb.append("null"); ?? ??? ?}else if(object instanceof Date){ ?? ??? ??? ?Date date=(Date)object; ?? ??? ??? ?sb.append(quote(AppDateAndStringUtil.format(date,dateFormat))); ?? ??? ?} ?? ??? ?else if (iProcessedObjects.contains(object) || object instanceof String? || ?? ??? ??? ??? ?object instanceof Character || object instanceof Class || object instanceof Throwable) { ?? ??? ??? ?sb.append(quote(object)); ?? ??? ?}else if (object instanceof Boolean || object instanceof Number) { ?? ??? ??? ?sb.append(object.toString()); ?? ??? ?}else if (object instanceof Map) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?Map<?,?> map = (Map<?,?>) object; ?? ??? ??? ?if (map.size() == 0) { ?? ??? ??? ??? ?sb.append("{}"); ?? ??? ??? ?}else { ?? ??? ??? ??? ?sb.append("{"); ?? ??? ??? ??? ?Iterator<?> keys = map.keySet().iterator(); ?? ??? ??? ??? ?int i=0; ?? ??? ??? ??? ?while (keys.hasNext()) { ?? ??? ??? ??? ??? ?Object key = keys.next(); ?? ??? ??? ??? ??? ?if(getIsEscapeNull()&&map.get(key)==null){ ?? ??? ??? ??? ??? ??? ?continue; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?if(i>0){ ?? ??? ??? ??? ??? ??? ?sb.append(","); ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?i++; ?? ??? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ??? ?sb.append("t"); ?? ??? ??? ??? ??? ?sb.append(quote(key.toString())); ?? ??? ??? ??? ??? ?sb.append(": "); ?? ??? ??? ??? ??? ?outputAsJson(sb,indent + "t",map.get(key),dateFormat); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ?sb.append("}"); ?? ??? ??? ?} ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else if (object.getClass().isArray()) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?int length = Array.getLength(object); ?? ??? ??? ?if (length == 0) { ?? ??? ??? ??? ?sb.append("[]"); ?? ??? ??? ?}else if (length == 1) { ?? ??? ??? ??? ?sb.append("["); ?? ??? ??? ??? ?if(getIsEscapeNull()&&Array.get(object,0)==null){ ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ?}else{ ?? ??? ??? ??? ??? ?outputAsJson(sb,indent,Array.get(object,0),dateFormat); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append("]"); ?? ??? ??? ?}else { ?? ??? ??? ??? ?sb.append("["); ?? ??? ??? ??? ?int k=0; ?? ??? ??? ??? ?for (int i = 0; i < length; i++) { ?? ??? ??? ??? ??? ?if(getIsEscapeNull()&&Array.get(object,i)==null){ ?? ??? ??? ??? ??? ??? ?continue; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?if (k>0) { ?? ??? ??? ??? ??? ??? ?sb.append(","); ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?k++; ?? ??? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ??? ?sb.append("t"); ?? ??? ??? ??? ??? ?outputAsJson(sb,i),dateFormat); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ?sb.append("t"); ?? ??? ??? ??? ?sb.append("]"); ?? ??? ??? ?} ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else if (object instanceof Collection) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?outputAsJson(sb,((Collection<?>)object).toArray(),dateFormat); ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?try { ?? ??? ??? ??? ?PropertyDescriptor properties[] = Introspector.getBeanInfo(object.getClass()).getPropertyDescriptors(); ?? ??? ??? ??? ?Map<Object,Object> map = new HashMap<Object,Object>(properties.length); ?? ??? ??? ??? ?for (int i = 0; i < properties.length; i++) { ?? ??? ??? ??? ??? ?Method readMethod = properties[i].getReadMethod(); ?? ??? ??? ??? ??? ?if (readMethod != null) { ?? ??? ??? ??? ??? ??? ?boolean isContinue=false; ?? ??? ??? ??? ??? ??? ?for(Field field:object.getClass().getDeclaredFields()){ ?? ??? ??? ??? ??? ??? ??? ?if((field.getName().substring(0,1).toLowerCase()+field.getName().substring(1)).equals(properties[i].getName())){ ?? ??? ??? ??? ??? ??? ??? ??? ?map.put(field.getName(),readMethod.invoke(object,(Object[])null)); ?? ??? ??? ??? ??? ??? ??? ??? ?isContinue=true; ?? ??? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if(!isContinue){ ?? ??? ??? ??? ??? ??? ??? ?map.put(properties[i].getName(),(Object[])null)); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ??? ?outputAsJson(sb,map,dateFormat); ?? ??? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ??? ?}catch (InvocationTargetException e) { ?? ??? ??? ??? ?logger.error("outputAsJson error",e); ?? ??? ??? ??? ?throw e; ?? ??? ??? ?}catch (IllegalAccessException e) { ?? ??? ??? ??? ?logger.error("IllegalAccessException error",e); ?? ??? ??? ??? ?throw e; ?? ??? ??? ?}catch (IntrospectionException e) { ?? ??? ??? ??? ?logger.error("IntrospectionException error",e); ?? ??? ??? ??? ?throw e; ?? ??? ??? ?} ?? ??? ?} ?? ? ??? } ?? ?private static void outputAsJson(StringBuilder sb,Object object) throws Exception { ?? ??? ?if (object == null) { ?? ??? ??? ?if(getIsEscapeNull()){ ?? ??? ??? ??? ?return; ?? ??? ??? ?} ?? ??? ??? ?sb.append("null"); ?? ??? ?}else if (iProcessedObjects.contains(object) || object instanceof String || object instanceof Date || ?? ??? ??? ??? ?object instanceof Character || object instanceof Class || object instanceof Throwable) { ?? ??? ??? ?sb.append(quote(object)); ?? ??? ?}else if (object instanceof Boolean || object instanceof Number) { ?? ??? ??? ?sb.append(object.toString()); ?? ??? ?}else if (object instanceof Map) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?Map<?,map.get(key)); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ?sb.append("}"); ?? ??? ??? ?} ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else if (object.getClass().isArray()) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?int length = Array.getLength(object); ?? ??? ??? ?if (length == 0) { ?? ??? ??? ??? ?sb.append("[]"); ?? ??? ??? ?}else if (length == 1) { ?? ??? ??? ??? ?sb.append("["); ?? ??? ??? ??? ?if(getIsEscapeNull()&&Array.get(object,0)); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append("]"); ?? ??? ??? ?}else { ?? ??? ??? ??? ?sb.append("["); ?? ??? ??? ??? ?int k=0; ?? ??? ??? ??? ?for (int i = 0; i < length; i++) { ?? ??? ??? ??? ??? ?if(getIsEscapeNull()&&Array.get(object,i)); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?sb.append(lineSeparator); ?? ??? ??? ??? ?sb.append(indent); ?? ??? ??? ??? ?sb.append("t"); ?? ??? ??? ??? ?sb.append("]"); ?? ??? ??? ?} ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else if (object instanceof Collection) { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?outputAsJson(sb,((Collection<?>)object).toArray()); ?? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ?}else { ?? ??? ??? ?iProcessedObjects.add(object); ?? ??? ??? ?try { ?? ??? ??? ??? ?PropertyDescriptor properties[] = Introspector.getBeanInfo(object.getClass()).getPropertyDescriptors(); ?? ??? ??? ??? ?Map<Object,map); ?? ??? ??? ??? ?iProcessedObjects.remove(object); ?? ??? ??? ?}catch (InvocationTargetException e) { ?? ??? ??? ??? ?logger.error("InvocationTargetException error",e); ?? ??? ??? ??? ?throw e; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ? ?? ?/** ?? ?* @Title: quote ?? ?* @Description: 替换掉特殊字符为html识别的字符 ?? ?* @param object ?? ?* @return ?? ?*/ ?? ?private static String quote(Object object) { ?? ??? ?String str = object.toString(); ?? ??? ?for (int i = 0; i < ESCAPE_CHARACTERS.length; i++) { ?? ??? ??? ?str = str.replaceAll(ESCAPE_CHARACTERS[i][0],ESCAPE_CHARACTERS[i][1]); ?? ??? ?} ?? ??? ?if (AppObjectUtil.isCrossSiteScriptingEnabled()) { ?? ??? ??? ?for (int i=0; i < CROSS_SITE_SCRIPTING_CHARACTERS.length; i++) { ?? ??? ??? ??? ?str = str.replaceAll(CROSS_SITE_SCRIPTING_CHARACTERS[i][0],CROSS_SITE_SCRIPTING_CHARACTERS[i][1]); ?? ??? ??? ?} ?? ??? ?} ?? ??? ?StringBuffer sb = new StringBuffer(str.length() + 2); ?? ??? ?sb.append("""); ?? ??? ?sb.append(str); ?? ??? ?sb.append("""); ?? ??? ?String result = sb.toString(); ?? ??? ?return result; ?? ?} ?? ? ?? ?/** ?? ? * 这个方法是检查是否支持json对于script的站点跨域问题 ?? ? * @return true 如果支持json对于script的跨域. ?? ? */ ?? ?private static boolean isCrossSiteScriptingEnabled() { ?? ??? ?if (iCrossSiteScriptingEnabled == null) { ?? ??? ??? ?iCrossSiteScriptingEnabled = new Boolean(true);?? ??? ??? ? ?? ??? ??? ?try { ?? ??? ??? ??? ?ResourceBundle bundle = ResourceBundle.getBundle(JSON__PROPERTY_FILE); ?? ??? ??? ??? ?String escapeJSONResponse = (String) bundle.getObject(ESCAPE_JSON_RESPONSE); ?? ??? ??? ??? ?iCrossSiteScriptingEnabled = new Boolean(escapeJSONResponse); ?? ??? ??? ?} catch (MissingResourceException e) { ?? ??? ??? ??? ?logger.error("MissingResourceException error",e); ?? ??? ??? ?}?? ??? ??? ? ?? ??? ?} ?? ??? ?return iCrossSiteScriptingEnabled.booleanValue(); ?? ?} ?? ? ?? ?/** ?? ?* @Title: sqlStrToSqlQueryString ?? ?* @Description: 把sql字符串按行解析并生成合法SQL语句 ?? ?* @param sqlStr ?? ?* @return ?? ?* @throws IOException ?? ?*/ ?? ?public static String sqlStrToSqlQueryString(String sqlStr) throws IOException { ?? ??? ?if(sqlStr==null){ ?? ??? ??? ?return null; ?? ??? ?} ?? ??? ?BufferedReader reader = new BufferedReader(new StringReader(sqlStr)); ?? ??? ?String line = null; ?? ??? ?StringBuffer queryBuffer = null; ?? ??? ?while ((line = reader.readLine()) != null) { ?? ??? ??? ?if (queryBuffer == null) { ?? ??? ??? ??? ?queryBuffer = new StringBuffer(); ?? ??? ??? ?} ?? ??? ??? ?if (line.length() > 0 && !line.startsWith("--")) { ?? ??? ??? ??? ?queryBuffer.append(line).append(" "); ?? ??? ??? ??? ?if (line.lastIndexOf(";") !=line.length()-1) { ?? ??? ??? ??? ??? ?continue; ?? ??? ??? ??? ?}else{ ?? ??? ??? ??? ??? ?return queryBuffer.substring(0,queryBuffer.length()-2); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ?if(queryBuffer==null){ ?? ??? ??? ?return sqlStr; ?? ??? ?} ?? ??? ?return queryBuffer.substring(0,queryBuffer.length()-1); ?? ?} ?? ?/** ?? ? * @return the isEscapeNull ?? ? */ ?? ?public static Boolean getIsEscapeNull() { ?? ??? ?return isEscapeNull; ?? ?} ?? ?/** ?? ? * @param isEscapeNull the isEscapeNull to set ?? ? */ ?? ?public static void setIsEscapeNull(Boolean isEscapeNull) { ?? ??? ?AppObjectUtil.isEscapeNull = isEscapeNull; ?? ?} ?? ?/** ?? ?* @Title: generateFieldMapFromObject ?? ?* @param targetClass ?? ?* @return ?? ?* @throws Exception ?? ?*/ ?? ?public static Map<String,Object> generateFieldMapFromObject(Object targetClass)throws Exception{ ?? ??? ?if (targetClass == null) { ?? ??? ??? ?return null; ?? ??? ?} ?? ??? ?Map<String,Object> fieldMap=null; ?? ??? ?PropertyDescriptor properties[] = Introspector.getBeanInfo(targetClass.getClass()).getPropertyDescriptors(); ?? ??? ?for (int i = 0; i < properties.length; i++) { ?? ??? ??? ?Method readMethod = properties[i].getReadMethod(); ?? ??? ??? ?if (readMethod != null) { ?? ??? ??? ??? ?if(fieldMap==null){ ?? ??? ??? ??? ??? ?fieldMap=new HashMap<String,Object>(); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?boolean isContinue=false; ?? ??? ??? ??? ?for(Field field:targetClass.getClass().getDeclaredFields()){ ?? ??? ??? ??? ??? ?if((field.getName().substring(0,1).toLowerCase()+field.getName().substring(1)).equals(properties[i].getName())){ ?? ??? ??? ??? ??? ??? ?fieldMap.put(field.getName(),readMethod.invoke(targetClass,(Object[])null)); ?? ??? ??? ??? ??? ??? ?isContinue=true; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ??? ?if(!isContinue){ ?? ??? ??? ??? ??? ?try { ?? ??? ??? ??? ??? ??? ?fieldMap.put(properties[i].getName(),readMethod.invoke(targetClass.getClass(),(Object[])null)); ?? ??? ??? ??? ??? ?} catch (Exception e) { ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ?return fieldMap; ?? ??? ? ?? ?} ?? ?/** ?? ? * @param targetClass ?? ? * @param fieldMap ?? ? * @return ?? ? * @throws Exception ?? ? */ ?? ?public static Object generateObjectFromFieldMap(Object targetClass,Map<String,Object> fieldMap) throws Exception { ?? ??? ?if (targetClass == null) { ?? ??? ??? ?return null; ?? ??? ?} ?? ??? ?Class<?> objectClass = null; ?? ??? ?if (targetClass instanceof Class) { ?? ??? ??? ?objectClass = (Class<?>) targetClass; ?? ??? ??? ?targetClass = objectClass.newInstance(); ?? ??? ?} else { ?? ??? ??? ?objectClass = targetClass.getClass(); ?? ??? ?} ?? ??? ?PropertyDescriptor properties[] = Introspector.getBeanInfo(objectClass).getPropertyDescriptors(); ?? ??? ?for (int i = 0; i < properties.length; i++) { ?? ??? ??? ?Method writeMethod = properties[i].getWriteMethod(); ?? ??? ??? ?if (writeMethod != null) { ?? ??? ??? ??? ?Object value=null; ?? ??? ??? ??? ?for(Field field:objectClass.getDeclaredFields()){ ?? ??? ??? ??? ??? ?if((field.getName().substring(0,1).toLowerCase()+field.getName().substring(1)).equals(properties[i].getName())){ ?? ??? ??? ??? ??? ??? ?value=fieldMap.get(field.getName()); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ??? ?if(value==null){ ?? ??? ??? ??? ??? ?value=fieldMap.get(properties[i].getName()); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?if(value==null){ ?? ??? ??? ??? ??? ?for (Map.Entry<String,Object> entry : fieldMap.entrySet()) { ?? ??? ??? ??? ??? ??? ?if (entry.getValue() != null) { ?? ??? ??? ??? ??? ??? ??? ?String setMethodName = "set" + entry.getKey().substring(0,1).toUpperCase()+ entry.getKey().substring(1); ?? ??? ??? ??? ??? ??? ??? ?if(writeMethod.getName().equals(setMethodName)){ ?? ??? ??? ??? ??? ??? ??? ??? ?value=entry.getValue(); ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ??? ?if(value!=null&&(!"".equals(value.toString().trim()))){ ?? ??? ??? ??? ??? ?for(Class<?> c:writeMethod.getParameterTypes()){ ?? ??? ??? ??? ??? ??? ?if("java.lang.Integer".equals(c.getName())||"int".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,Integer.valueOf(value.toString())); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.lang.Long".equals(c.getName())||"long".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,Long.valueOf(value.toString())); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.lang.Double".equals(c.getName())||"double".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,Double.valueOf(value.toString())); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.lang.Float".equals(c.getName())||"float".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,Float.valueOf(value.toString())); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.lang.String".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,value.toString()); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.math.BigDecimal".equals(c.getName())){ ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,new BigDecimal(value.toString().replaceAll(",",""))); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if("java.util.Date".equals(c.getName())&&"java.lang.String".equals(value.getClass().getName())){ ??????????????????????????? String df = "yyyy-MM-dd"; ??????????????????????????? if(value.toString().length()>10){ ??????????????????????????????? df = "yyyy-MM-dd HH:mm:ss"; ??????????????????????????? } ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,AppDateAndStringUtil.parse(value.toString(),df)); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?try { ?? ??? ??? ??? ??? ??? ??? ?writeMethod.invoke(targetClass,value); ?? ??? ??? ??? ??? ??? ?} catch (Exception e) { ?? ??? ??? ??? ??? ??? ??? ?logger.error("generateObjectFromFieldMap error",e); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ?return targetClass; ?? ?}?? ? } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |