java类型反射
private Object setValueFromJson(JSONObject jsonObj, Object object) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, ParseException { if (jsonObj == null || object == null || jsonObj.length() == 0) { return null; } Method[] methods = object.getClass().getMethods(); for (Method m : methods) { String mName = m.getName(); if (!mName.startsWith("set")) { continue; } String firstLetter = mName.substring(3, 4); String otherLetter = mName.substring(4); String name = firstLetter.toLowerCase() + otherLetter; String value = jsonObj.optString(name); // 从JSON中解析出数据 if (value.trim().equals("")) { continue; } Class[] parasClass = m.getParameterTypes(); if (parasClass.length != 1) { continue; } // 判断方法参数类型 String paraType = parasClass[0].getName(); if (paraType.equals("java.lang.String")) { m.invoke(object, value); } else if (paraType.equals("java.lang.Integer")) { m.invoke(object, Integer.parseInt(value)); } else if (paraType.equals("java.math.Bigdecimal")) { m.invoke(object, new BigDecimal(value)); } } return object; }