安康免费做网站公司,一诺网络推广公司,网站建设进度以及具体内容,微信官网网站模板下载安装java 反射机制构建JSON字符串。接着上一篇文章、今天继续学习利用java 反射机制构建JSON字符串。JSON的格式跟使用的方式方法就不讲了、这个百度一下就有……好了今天心情很糟糕、直接上代码吧#xff01;[java]view plaincopyprint?import java.lang.reflect.Field;import j…java 反射机制构建JSON字符串。接着上一篇文章、今天继续学习利用java 反射机制构建JSON字符串。JSON的格式跟使用的方式方法就不讲了、这个百度一下就有……好了今天心情很糟糕、直接上代码吧[java]view plaincopyprint?import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;import com.test.hzw.bean.test_user;import com.test.hzw.dao.impl.DaoImpl;/*** Json转换测试类* author 胡汉三**/SuppressWarnings({“unchecked”,”unused”})public class Reflect004 {/*** param args* throws Exception*/public static void main(String[] args) throws Exception {DaoImpl dao new DaoImpl();test_user u new test_user();String sqlPage “SELECT * FROM test_user WHERE id “;sqlPage ” (SELECT id FROM test_user ORDER BY id LIMIT “(2-1)*20”, 1) “;sqlPage ” ORDER BY id LIMIT 20 ” ;/** 从数据库查询并获得集合** PS: 该方法是上一篇文章的内容*/List listT (List)dao.findList(u, sqlPage, new ArrayList());String s ToJsonByList(listT);System.out.println(s);System.out.println(ToJsonByAll(listT.get(0)).toString());}/*** 根据List集合生成Json数组格式字符串(只支持bean方式)* param * param list 集合对象* return*/public static String ToJsonByList(List list){StringBuffer b new StringBuffer(“[);if(list!nulllist.size()0){for (int i 0; i list.size(); i){Object o list.get(i);try {//调用ToJsonByBean方法StringBuffer s ToJsonByBean(o);if(s!null!s.equals()){b.append(s).append(,);}} catch (Exception e) {e.printStackTrace();}}}b.append(]“);return b.replace(b.lastIndexOf(“,”),b.lastIndexOf(“,”) 1 ,”).toString();}/*** 根据javaBean生成Json对象格式字符串* param object 任意javaBean类型对象* return 拼接好的StringBuffer对象*/public static StringBuffer ToJsonByBean(Object object) throws Exception{Class clazz object.getClass(); //获得Class对象Field[] fields clazz.getDeclaredFields(); //获得Class对象的字段数组StringBuffer sb new StringBuffer(“{“);/** 循环字段数组*/for (Field field : fields) {String fieldName field.getName(); //获得字段名称//获得字段对应的get方法对象Method method clazz.getMethod(“get” change(fieldName), null);//调用get方法获得字段的值Object property method.invoke(object, null);/** 生成json字符串数据*/if(property null){sb.append(“\”fieldName”\”:\”\”,”);}else{if (field.getType().getName().equals(“java.lang.Boolean”))sb.append(“\”fieldName”\”:”Boolean.valueOf(property.toString())”,”);elsesb.append(“\”fieldName”\”:\”property”\”,”);}}sb.append(“}”);return sb.replace(sb.lastIndexOf(“,”),sb.lastIndexOf(“,”) 1 ,”);}/*** param src 源字符串* return 字符串将src的第一个字母转换为大写src为空时返回null*/public static String change(String src) {if (src ! null) {StringBuffer sb new StringBuffer(src);sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));return sb.toString();} else {return null;}}/*** 生成Json数组格式字符串* param object 任意类型对象* return 拼接好的StringBuffer对象*/public static StringBuffer ToJsonByAll(Object object) throws Exception{Class clazz object.getClass();Field[] fields clazz.getDeclaredFields();StringBuffer sb new StringBuffer(“{[);for (Field field : fields) {String fieldName field.getName();Method method clazz.getMethod(get change(fieldName), null);Object property method.invoke(object, null);if(property null){sb.append(\\,);}else{sb.append(\ property \,);}}sb.append(]}”);return sb.replace(sb.lastIndexOf(“,”),sb.lastIndexOf(“,”) 1 ,”);}}有的时候、很多时候我总是控制不住自己的情绪。o(︶︿︶)o 唉