




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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)buffer.append(,); catch (Exception e) e.printStackTrace();removeLastComma(buffer);buffer.append();return buffer.toString();/* * map对象转换规则 * */SuppressWarnings( unchecked, rawtypes )private static String map2Str(Object obj)StringBuffer buffer = new StringBuffer();buffer.append();Map map = (Map)obj);SetMap.Entry set = map.entrySet();if(obj instanceof Map)for(Map.Entry e : set)Class clazz = e.getValue().getClass();if(e.getValue() instanceof Map)buffer.append().append(e.getKey().append().append(:).append(map2Str(e.getValue();else if(e.getValue() instanceof Date)buffer.append().append(e.getKey().append().append(:).append().append(DateUtil.date2Str(Date)e.getValue().append();else if(e.getValue().getClass().isArray()buffer.append().append(e.getKey().append().append(:).append(array2Str(e.getValue();else if(e.getValue() instanceof List)buffer.append().append(e.getKey().append().append(:).append(list2Str(e.getValue();else if(clazz.isPrimitive() | clazz = Integer.class | clazz = Long.class | clazz = Float.class | clazz = Double.class)buffer.append().append(e.getKey().append().append(:);buffer.append(e.getValue();else if(clazz = String.class)buffer.append().append(e.getKey().append().append(:).append().append(e.getValue().append();elsebuffer.append().append(e.getKey().append().append(:).append(obj2Str(e.getValue();buffer.append(,);removeLastComma(buffer);buffer.append();return buffer.toString();/* * 基本类型转换规则 * */SuppressWarnings( rawtypes, unused )private static String primative2Str(Field field ,Object obj) throws ExceptionClass type = field.getType();StringBuffer buffer = new StringBuffer();buffer.append().append(field.getName().append().append(:).append(field.get(obj).append(,);removeLastComma(buffer);return buffer.toString();/* * 去除字符串中最后一个逗号 * */private static StringBuffer removeLastComma(StringBuffer buffer)if(buffer.length() 0 & buffer.charAt(buffer.length() -1 ) = ,)buffer.deleteCharAt(buffer.length() - 1);return buffer;/* * 数组转换为字符串 * */SuppressWarnings(rawtypes)private static String array2Str(Object obj)StringBuffer buffer = new StringBuffer();buffer.append();Class clazz = obj.getClass().getComponentType();if(clazz.isPrimitive() | clazz = Integer.class | clazz = Long.class | clazz = Float.class | clazz = Double.class| clazz = String.class )buffer.append(primativeArray2Str(obj);elseObject objs = (Object) obj;for(Object o : objs)buffer.append(obj2Str(o);buffer = removeLastComma(buffer);buffer.append();return buffer.toString();/* * list转换为字符串 * */SuppressWarnings(rawtypes)private static String list2Str(Object obj)StringBuffer buffer = new StringBuffer();buffer.append();List list = (List) obj;for(Object o : list)Class clazz = o.getClass();if(clazz.isPrimitive() | clazz = Integer.class | clazz = Long.class | clazz = Float.class | clazz = Double.class)buffer.append(o);else if(clazz = String.class)buffer.append().append(o).append();elsebuffer.append(obj2Str(o);buffer.append(,);buffer = removeLastComma(buffer);buffer.append();return buffer.toString();/* * 基本类型数组转换为字符串 * */SuppressWarnings(rawtypes)private static String primativeArray2Str(Object obj)StringBuffer buffer = new StringBuffer();Class clazz = obj.getClass().getComponentType();if(clazz = int.class)int objs = (int) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = long.class)long objs = (long) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = Integer.class)Integer objs = (Integer) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = Long.class)Long objs = (Long) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = float.class)float objs = (float) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = Float.class)Float objs = (Float) obj;for(Object o : objs)buffer.append(o).append(,);else if(clazz = double.class)double objs = (double) obj;for(Object o : objs)buffer.append(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论