将对象转换为json串工具类.doc
文本预览下载声明
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){
显示全部