将一个实体类输出到JSON字符串
2016-03-03 09:56
330 查看
public String toString(){ Object model = this; StringBuffer str = new StringBuffer("{"); int fieldCount = 0; Field[] field = model.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组 for (int j = 0; j < field.length; j++) { // 遍历所有属性 String name = field[j].getName(); // 获取属性的名字 name = name.substring(0,1).toUpperCase()+name.substring(1); String type = field[j].getGenericType().toString(); // 获取属性的类型 Method m = null; try { m = model.getClass().getMethod("get" + name); Object vale = null; try { vale = m.invoke(model); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } if (vale != null) { fieldCount++; if (type.equals("class java.lang.String") || type.equals("class java.util.Date")) { if(fieldCount>1){ str.append(","); } str.append(name + ":\"" + vale + "\""); } else if(type.equals("class java.lang.Integer") || type.equals("class java.lang.Short") || type.equals("class java.lang.Long") || type.equals("class java.lang.Float") || type.equals("class java.lang.Double") || type.equals("class java.lang.Boolean")|| type.equals("long")|| type.equals("int")|| type.equals("float")|| type.equals("double")) { if(fieldCount>1){ str.append(","); } str.append(name + ":" + vale); } } } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } } str.append("}"); return str.toString(); }
相关文章推荐
- JS时间格式和时间戳的互转
- JavaScript基础插曲-练习
- js 把数字转成2 ,8,16进制的方法
- js实现向后台传递二维数组
- day03 js
- JSP中的几种注释
- JS基础(三)
- JS 断点调试
- Javascript 操作 DOM 常用 API 总结
- 理解js中的原型链,prototype与__proto__的关系
- JS 一定要放在 Body 的最底部么?聊聊浏览器的渲染机制
- javascript简介-
- 基于javascript html5实现多文件上传
- 初识jsonp
- 一个js编写全选、弹出对话框、ajax-json的案例
- js面向对象组件
- javaScript引入方式
- 《JavaScript模式》笔记
- js 函数 function
- javascript之Array基础篇