文档详情

将对象转换为json串工具类.doc

发布:2017-07-02约9.36万字共7页下载文档
文本预览下载声明
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; /** * 将对象转为json串的工具类 * */ public class Obj2StrUtil { @SuppressWarnings(rawtypes) public static String obj2Str(Object obj){ if(obj == null){ return {}; } if(obj instanceof Map){ return map2Str(obj); }else if(obj instanceof List){ return list2Str(obj); }else if(obj.getClass().isArray()){ return array2Str(obj); } Class clazz = obj.getClass(); StringBuffer buffer = new StringBuffer(); buffer.append({); Method[] methods = clazz.getMethods(); for(Method m : methods){ if(m.getName().startsWith(set)){ String fieldName = m.getName().substring(3); char firstChar = fieldName.charAt(0); if(firstChar64 firstChar 91){ firstChar = (char) (firstChar + 32); StringBuffer sb = new StringBuffer(fieldName); sb.replace(0, 1, Character.toString(firstChar)); fieldName = sb.toString(); } try { Field field = clazz.getDeclaredField(fieldName); field.setAccessible(true); if(field.getType().isPrimitive() || field.getType() == Integer.class || field.getType() == Long.class || field.getType() == Float.class || field.getType() == Double.class){ buffer.append(primative2Str(field,obj)); }else if(field.getType() == String.class){ buffer.append(\) .append(fieldName) .append(\) .append(:) .append(\) .append(field.get(obj)) .append(\); }else if(field.getType() == Date.class){ buffer.append(\) .append(fieldName) .append(\) .append(:) .append(\) .append(DateUtil.date2Str((Date)field.get(obj))) .append(\); }else if(field.get(obj) != null){ buffer.append(\) .append(fieldName) .append(\) .append(:) .append(obj2Str(field.get(obj))); } if(field.get(obj) != null){
显示全部
相似文档