- 8
- 0
- 约9.36万字
- 约 7页
- 2017-07-05 发布于河南
- 举报
将对象转换为json串工具类
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){
您可能关注的文档
- 基于RTP和Android视频传输研究实现方法.pdf
- 基于MPEG_4编码近距离无线视频传输系统.pdf
- 基于SPI数据报过滤原理与实现.pdf
- 基于StrutsWeb系统中设计模式应用.pdf
- 基于UDP协议现场实时通信.pdf
- 基于UDP协议Socket网络编程模式实现.pdf
- 基于SVG网络GIS图形编辑系统设计与实现.pdf
- 基于UGWAVE技术在复杂曲轴箱设计中应用.pdf
- 基于TMS320F2407SR电机调速系统设计.pdf
- 基于VB实时控制系统软件设计.pdf
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)